一、多頁應用
1. 每一次頁面跳轉的時候,后台服務器都會給返回一個新的html文檔,這種類型的網站也就是多頁網站,也叫做多頁應用
2.優點:首屏時間快,SEO效果好
缺點:頁面切換慢( 因為每次跳轉都需要發出一個http請求,如果網絡比較慢,在頁面之間來回跳轉時,就會發現明顯的卡頓。)
3. 為什么多頁應用的首屏時間快?
首屏時間叫做頁面首個屏幕的內容展現的時間,當我們訪問頁面的時候,服務器返回一個html,頁面就會展示出來,這個過程只經歷了一個HTTP請求,所以頁面展示的速度非常快。
4. 為什么搜索引擎優化效果好(SEO)?
搜索引擎在做網頁排名的時候,要根據網頁內容才能給網頁權重,來進行網頁的排名。搜索引擎是可以識別html內容的,而我們每個頁面所有的內容都放在Html中,所以這種多頁應用,seo排名效果好
二、 單頁應用
1. 第一次進入頁面的時候會請求一個html文件,刷新清除一下。切換到其他組件,此時路徑也相應變化,但是並沒有新的html文件請求,頁面內容也變化了。
2.原理是:JS會感知到url的變化,通過這一點,可以用js動態的將當前頁面的內容清除掉,然后將下一個頁面的內容掛載到當前頁面上,這個時候的路由不是后端來做了,而是前端來做,判斷頁面到底是顯示哪個組件,清除不需要的,顯示需要的組件。這種過程就是單頁應用,每次跳轉的時候不需要再請求html文件了。
3.優點:頁面切換快
頁面每次切換跳轉時,並不需要做html文件的請求,這樣就節約了很多http發送時延,我們在切換頁面的時候速度很快。
4.缺點: 首屏時間慢,SEO差
單頁應用的首屏時間慢,首屏時需要請求一次html,同時還要發送一次js請求,兩次請求回來了,首屏才會展示出來。相對於多頁應用,首屏時間慢。
SEO效果差,因為搜索引擎只認識html里的內容,不認識js的內容,而單頁應用的內容都是靠js渲染生成出來的,搜索引擎不識別這部分內容,也就不會給一個好的排名,會導致單頁應用做出來的網頁在百度和谷歌上的排名差。