http狀態碼301代表永久重定向。當服務器收到客戶端的請求時,會將其重定向到另一個url,而不是返回請求的資源。通常用于以下情況:
1、當網站的url結構發生變化或網站遷移到新的域名時。
2、當網站上存在重復內容時,可以使用301狀態碼將所有重復的url重定向到一個主要的url。
3、當網站的某個頁面不再存在時,可以使用301狀態碼將該頁面的url重定向到一個現有的頁面等等。?
?URL 重定向(也稱為?URL 轉發)是一種為頁面、表單或者整個 Web 站點/應用提供多個 URL 地址的技術。HTTP 對此操作有一種特殊類型的響應,稱為?HTTP 重定向(HTTP redirect)。
重定向可實現許多目標:
- 站點維護或停機期間的臨時重定向。
- 永久重定向將在更改站點的 URL 后,保留現有的鏈接/書簽、上傳文件時表示進度的頁面等。
HTTP狀態碼301表示永久重定向。當服務器收到客戶端的請求時,會將其重定向到另一個URL,而不是返回請求的資源。這個重定向是永久性的,意味著客戶端應該記住新的URL,并在以后的請求中直接使用它。?
301狀態碼通常用于以下情況:
1. 網站URL更改:當網站的URL結構發生變化或網站遷移到新的域名時,可以使用301狀態碼將舊的URL重定向到新的URL。這樣,搜索引擎和用戶就可以找到并訪問新的URL。
2. 重復內容:當網站上存在重復內容時,可以使用301狀態碼將所有重復的URL重定向到一個主要的URL。這有助于搜索引擎確定哪個URL是主要的,并避免重復內容對搜索排名的影響。
3. 舊頁面重定向:當網站的某個頁面不再存在時,可以使用301狀態碼將該頁面的URL重定向到一個現有的頁面。這樣,用戶訪問舊的URL時會被自動重定向到新的頁面。
4. HTTP和HTTPS之間的重定向:當網站從HTTP協議遷移到HTTPS協議時,可以使用301狀態碼將HTTP的URL重定向到相應的HTTPS的URL。這樣可以確保用戶訪問網站時使用安全的HTTPS連接。
使用301狀態碼的好處是,它能夠幫助搜索引擎和用戶快速找到并訪問正確的URL。搜索引擎會將重定向的頁面視為目標頁面的一部分,并將其排名和權重傳遞給新的URL。而用戶在訪問舊的URL時會被自動重定向到新的URL,提供更好的用戶體驗。
總之,HTTP狀態碼301表示永久重定向,用于將請求的URL重定向到一個新的URL。它通常用于網站URL更改、重復內容、舊頁面重定向和HTTP和HTTPS之間的重定向等情況。它能夠幫助搜索引擎和用戶快速找到并訪問正確的URL,提供更好的用戶體驗和搜索排名。
Location
Location
?首部指定的是需要將頁面重新定向至的地址。一般在響應碼為 3xx 的響應中才會有意義。
發送新請求,獲取 Location 指向的新頁面所采用的方法與初始請求使用的方法以及重定向的類型相關:
- 303?(See Also) 始終引致請求使用?GET?方法,而?307?(Temporary Redirect) 和?308?(Permanent Redirect) 則不轉變初始請求中的所使用的方法;
- 301?(Permanent Redirect) 和?302?(Found) 在大多數情況下不會轉變初始請求中的方法,不過一些比較早的用戶代理可能會引發方法的變更(所以你基本上不知道這一點)。
狀態碼為上述之一的所有響應都會帶有一個 Location 首部。
除了重定向響應之外,狀態碼為?201?(Created) 的消息也會帶有 Location 首部。它指向的是新創建的資源的地址。
Location?與?Content-Location
是不同的,前者(Location?)指定的是一個重定向請求的目的地址(或者新創建的文件的 URL),而后者(?Content-Location
)指向的是經過內容協商后的資源的直接地址,不需要進行進一步的內容協商。Location 對應的是響應,而 Content-Location 對應的是要返回的實體。
語法:Location: <url>
原理
在 HTTP 協議中,重定向操作由服務器向請求發送特殊的重定向響應而觸發。重定向響應包含以?3
?開頭的狀態碼,以及?Location?標頭,其保存著重定向的URL。
Status Code: 307 Internal Redirect
Location:https://www.jd.com/
瀏覽器在接收到重定向時,它們會立刻加載?Location
?標頭中提供的新 URL。除了額外的往返操作中會有一小部分性能損失之外,重定向操作對于用戶來說是不可見的。
不同類型的重定向映射可以劃分為三個類別:
- 永久重定向
- 臨時重定向
- 特殊重定向?
假設有下面幾個網址:
http://www.admin10000.com/index.html
http://admin10000.com
http://admin10000.com/index.html
都做301重定向到 http://www.admin10000.com(選定的規范化網址),搜索引擎就知道?http://www.admin10000.com?是規范化網址,而且會把上面列的網址權重傳遞集中到規范化網址。
永久重定向
這種重定向操作是永久性的。它表示原 URL 不應再被使用,而選用新的 URL 替換它。搜索引擎機器人、RSS 閱讀器以及其他爬蟲將更新資源原始的 URL。
該規范無意使方法發生改變,但在實際應用中用戶代理會更改其方法。308?狀態碼被創建用來消除在使用非?GET
?方法時行為的歧義。?