今天我就用問答的方式向大家介紹一下什麼是僞靜態,僞靜態的作用又是如何?
問題:1.京東的頁面爲什麼採用.html
答案:
採用html靜態的方式原因2
1.靜態頁面瀏覽器加載的速度更快.
2.以.html結尾的頁面,更加的容易被搜索引擎收錄. 可以提高網站的曝光率.
問題2:爲什麼搜索引擎只收錄靜態頁面,而不是動態頁面?
搜索引擎的工作原理: 倒排索引
倒排索引:根據關鍵字檢索文章的位置. 可以快速的獲取查詢的結果
假設:收錄了動態頁面 數據是變化的!!!
如果搜索引擎收錄動態頁面,則無法保證搜索準確性.
如果需要通過.html的方式訪問頁面.則在webapp的目錄中必須有一個與之
對應的靜態文件才能予以展現.
問題3:京東的網址爲
https://item.jd.com/100009177374.html.那麼京東家是否需要準備
100009177374個靜態頁面???
分析:京東一定採用了動態的頁面的腳本技術實現該功能.
問題4:如何解決動態頁面與靜態面的平衡呢?
僞靜態說明:
僞靜態是相對真實靜態來講的,通常我們爲了增強搜索引擎的友好面,都將文章內容生成靜態頁面,
但是有的朋友爲了實時的顯示一些信息。或者還想運用動態腳本解決一些問題。不能用靜態的方式來展示網站內容。但是這就損失了對搜索引擎的友好面。怎麼樣在兩者之間找個中間方法呢,這就產生了僞靜態技術。僞靜態技術是指展示出來的是以html一類的靜態頁面形式,但其實是用ASP一類的動態腳本來處理的。
總結:以.html形式展現出來的動態頁面.
問題5:如何實現??
實現思路: 攔截以.html結尾的請求即可.
倒排索引
創建controller類
@Controller
public class IndexController {
@RequestMapping("/index")
public String index() {
return "index";
}
添加實現僞靜態的配置
//該配置類,實質就是web.xml配置文件
@Configuration
public class MvcConfigurer implements WebMvcConfigurer{
//開啓匹配後綴型配置
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
//5.2.4以後不建議使用,但是加上依然有效果.
configurer.setUseSuffixPatternMatch(true);
}
}
頁面效果
可以攔截.html結尾的請求