路由

1、什麼是‘前端路由’前端

  • 路由是根據不一樣的url地址展現不一樣的內容或者頁面。
  • 前端路由就是把不一樣的路由對應的內容或者頁面交給前端來作,以前是經過服務器根據url的不一樣返回不一樣的頁面實現,前端路由將不須要請求服務器,就能根據不一樣的url實現不一樣的內容和頁面。

2、爲何使用路由web

  傳統web開發每個請求地址都會請求服務器來處理,可是用戶的有些操做並不須要請求服務器,直接修改下頁面的邏輯就能知足需求,這個時候若是再請求服務器就會大大下降用戶的體驗,因此這個時候最好使用前端路由來實現。固然,直接使用js處理也能知足需求,可是js處理並不會改變頁面的地址,用戶也就沒法收藏當前頁面,js並不會更新頁面的url。而使用前端路由,url是跟着改變的,這種方式對於搜索引擎和用戶都是友好的。後端

3、先後端路由區別瀏覽器

  後端路由意味着瀏覽器刷新頁面,網速慢的時候可能屏幕全白而後纔有新內容出現。前端路由能夠隨意控制,邏輯也是在前端。從性能和用戶體驗層面來講,後端每次訪問一個新的頁面都須要向服務器發送請求,而後服務器再響應請求,這個過程是有延遲的。而前端路由訪問一個新頁面的時候只是改變了路徑而已,並不存在網絡延遲,用戶體驗會好不少。緩存

4、路由分層解析服務器

  路由——url的分層解析網絡

  第一層:解析到服務器目標機器,這個一般是域名或ip。前後端分離

  第二層:解析到服務器的特定資源文件。這個一般是pathinfo。性能

  第三層:解析特定資源的特定狀態。包含在pathinfo參數中。搜索引擎

  主要是服務器,資源文件,特定狀態定位。

5、前端路由適用場景

  前端路由更多應用在單頁面應用上,也就是spa,由於單頁面應用基本上都是先後端分離的,後端天然不會提供路由給前端。

  在單頁面應用,大部分頁面結構不變,只改變部份內容。

6、前端路由的優缺點

  優勢:

    用戶體驗好,不須要每次都請求服務器獲取頁面和內容,就能快速展現給用戶。

  缺點:

    使用瀏覽器的前進、後退的時候會從新發送請求,沒有合理利用緩存

    單頁面沒法記住以前的滾動位置,沒法再前進、後退的時候記住滾動位置

7、前端路由實現

  一、改變hash值,監聽onhashchange事件,這種方式優勢是兼容低版本瀏覽器

  二、經過historyAPI監聽popState事件,用pushState和replaceState來實現

相關文章
相關標籤/搜索