路過的朋友,能夠點個贊,關注一下~~~
前端
在vue-route
r中,對路由器的配置有兩種模式,hash模式
和history模式
,vue
最直觀的區別就是在url中hash 帶了一個很醜的 # ,而history是沒有#的。vue默認
使用hash。後端
mode:"hash" mode:"history"瀏覽器
即:地址欄 URL 中的 # 符號,好比這個 URL:www.aaa.com/#/hello,has… 的值爲 #/hello。服務器
它的特色
在於:hash 雖然出如今 URL 中,但不會被包括在 HTTP 請求中,對後端徹底沒有影響
,所以改變 hash 不會
從新加載頁面。url
history
利用了 HTML5
中新增的 pushState()
和 replaceState()
方法。(須要特定瀏覽器支持)code
這兩個方法應用於瀏覽器的歷史記錄棧
,在當前已有的 back、forward、go 的基礎之上,它們提供了對歷史記錄進行修改的功能。只是當它們執行修改時,雖然改變了當前的 URL,但瀏覽器不會當即向後端發送請求。資源
經過
history中
,丟掉了#
,可是:不怕前進,不怕後退,就怕刷新
,刷新是實實在在地去請求
服務器的。路由在
hash
模式下,前端路由修改的是#中的信息,而瀏覽器請求時不會
將 # 後面的數據發送到後臺,因此沒有問題。可是在history下,你能夠自由的修改path,當刷新時,若是服務器中沒有相應的響應或者資源,則會刷新出來404頁面。get