ハッシュルーティングと履歴ルーティング

1315 ワード

ルートは2種類あります.
hashモード:
url      #,#      , hash ,    。
    1)hash                   
    2)hash       hashchange     hash    ,      
    3)  html5   history    ,       hash         
    4)  hash  ,  #,      
    5)hash   ,    ,         
    6)   history  ,hash        
    7)hash           ,         ,            
  hash   :
    window.location.hash = "position"

historyモード:
 hash        url  ,          ,       ,  history        url    ,                 。
    1)history   hash      
    2)  http  
    3)history  ,        ,   ,      ,       404

historyを開始する方法:
history.pushState({ id }, null, id),        

hashルーティングとhistoryルーティングの違い1.hashルーティングはアドレスバーのURLに#がありますが、historyルーティングは少しもきれいではありません.リターンリフレッシュ操作を行うと、hashルーティングはアドレスバーに対応するページにロードされますが、historyルーティングは一般的に404でエラーが発生します(リフレッシュはネットワークリクエストで、バックエンドの準備がない場合はエラーが発生します).3.hashルーティングは低バージョンのブラウザをサポートし、historyルーティングはHTML 5に追加されたAPIです.4.hashの特徴は、URLに表示されているがhttpリクエストには含まれていないため、バックエンドには少しも影響しないため、hashを変更してもページが再ロードされないため、これも単一ページアプリケーションには必須である.5.historyはブラウザの履歴スタックを運用しており、以前はback,forward,goメソッドがあり、その後HTML 5にpushState()とreplaceState()メソッド(特定ブラウザのサポートが必要)が追加され、履歴を修正する機能を提供していたが、修正を行う際に現在のURLを変更したものの、ただし、ブラウザはすぐにバックエンドにリクエストを送信しません.