我想確定為什么瀏覽器會根據執行方式對長 URL 進行不同的處理。我到底是什么意思:
在我的應用程式中,我有一個指向可能有很長 URL 的視圖的鏈接。該鏈接可能比 2000 個字符長得多,而且我知道它不能在不同的瀏覽器中作業(來源)。但是當我們轉到該鏈接時,通過單擊應用程式,一切正常,瀏覽器不會回傳任何錯誤。但是,當我們復制該鏈接并粘貼到新選項卡中時,瀏覽器會回傳431 Request header fields too large
錯誤。我想知道為什么會這樣。也許它與我使用的框架 nextjs 有關?我在 Chrome 和 Firefox 上進行了測驗。
uj5u.com熱心網友回復:
單擊 Next.js 中的鏈接時,您可能正在執行客戶端路由。這使用history
API,并且對 URL 的長度沒有限制。該 URL 并沒有真正超出瀏覽器。
當您將 URL 粘貼到地址欄中時,它會發送一個GET
請求,并且該長度被您的網站服務器拒絕并431
出現錯誤。
如果您單擊帶有長 URL 的鏈接,然后使用F5
例如執行頁面完全重繪 ,您將看到錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/507428.html
標籤:javascript 网址 浏览器 下一个.js