看了不少篇關於HTTP狀態碼的文章都寫的很好很詳細,可是看完幾遍仍是沒有很好的消化,遂用本身的理解把常見狀態碼的含義梳理出來php
1XX Informational(請求正在處理)html
2XX Success(請求成功)web
3XX Redirection(重定向) 須要進行附加操做以完成請求數據庫
4XX Client Error(客戶端錯誤)瀏覽器
5XX Server Error(服務器錯誤)緩存
200 OK 請求正常處理服務器
204 請求處理成功 可是沒有任何資源返回給客戶端(通常用於只需客戶端向服務端發送消息)post
206 對資源的某一部分請求 響應報文中包含由 Content-Range 指定範圍的實體內容網站
301永久重定向 若是把資源對應的URI保存爲書籤,則此時書籤會根據Localtion首部字段提示的URI從新保存搜索引擎
302 臨時重定向 臨時地從舊地址A跳轉到地址B
303 和301,302相似 當使用post方法訪問一個資源時,把客戶端以get的方式重定向到對應的URI,返回303狀態碼
304 資源已經找到,可是不知足條件,因此不把資源返回給客戶端。經常使用於協商緩存。
400 請求報文內有語法錯誤
401 該狀態碼錶示發送的請求須要經過HTTP認證,初次收到401響應瀏覽器彈出認證的對話窗口。若收到第二次401狀態碼,則說明第一次驗證失敗。
403 請求資源的訪問被服務器拒絕,通常是未得到文件系統的訪問權限,訪問權限出現問題。
404 服務器上找不到請求資源 或路徑錯誤
405 請求方法被服務端識別,可是服務端禁止使用該方法。能夠用OPTIONS來查看服務器容許哪些訪問方法
500 服務器端在執行請求時出錯,通常是由於web應用出現bug
502 代理服務器或網關從上游服務器中收到無效響應
503 服務器暫時處於超負載或停機維護,目前沒法處理請求
301和302狀態碼都表示重定向,就是說瀏覽器在拿到服務器返回的這個狀態碼後會自動跳轉到一個新的URL地址,這個地址能夠從響應的Location首部中獲取(用戶看到的效果就是他輸入的地址A瞬間變成了另外一個地址B)——這是它們的共同點。
他們的不一樣在於。301表示舊地址A的資源已經被永久地移除了(這個資源不可訪問了),搜索引擎在抓取新內容的同時也將舊的網址交換爲重定向以後的網址;302表示舊地址A的資源還在(仍然能夠訪問),這個重定向只是臨時地從舊地址A跳轉到地址B,搜索引擎會抓取新的內容而保存舊的網址。 SEO302好於301