HTTP常見狀態碼

2021-09-24 12:20:26 字數 2079 閱讀 6457

http常見狀態碼

這裡主要介紹運維過程中經常遇到的狀態碼。並通過業界流行的nginx進行模擬實現,讓大家能夠對http狀態碼有乙個理性的認識(必會,牢記)
實驗場景

作業系統 centos 7.3

實驗用的軟體包 nginx php-fmp php http-tools(直接使用yum倉庫原生軟體包)

yum -y install nginx php-fmp php http-tools

2xx狀態碼

2xx 型別的狀態碼表示乙個http請求成功(比如 200)
3xx狀態碼

3xx 型別狀態碼主要表示http請求url重定向行為(常見301,301,304)
301狀態碼

url 永久性重定向,在nginx中通過rewrite指令結合permanent標記實現
302狀態碼

url 臨時重定向,在nginx中通過rewrite指令結合redirect標記實現
301與302的區別

301與302狀態碼都是url重定向,其中301是永久,302是臨時。不管是永久還是臨時對於使用者來說兩者沒有任何感官上的區別。都是在訪問鏈結a時跳轉到了鏈結b,並看到瀏覽器上的位址同樣由a變成了b。

它們主要區別在於搜尋引擎,搜尋引擎是要建立索引規則和權重的,如果鏈結a被設定為永久重定向到b,那搜尋引擎可以確定a的位址永久改變了,就會把b當做唯一有效的目標位址。這時搜尋引擎會把老位址相關資訊帶到新位址,同時在搜尋引擎庫中徹底廢棄原先的老位址,而搜尋引擎對於302則沒有這樣的行為

304狀態碼

客戶端快取,通過nginx中的expires指令完成
4xx狀態碼

4xx 型別狀態碼主要表示客戶端錯誤,客戶端發起http請求頭不完整,客戶使用的使用者名稱,密碼錯誤等,都會被標記為客戶端錯誤。(常見400,401,403)
400狀態碼

當web伺服器遇到不完整的http請求頭時,會返回400狀態碼。請求頭資訊或者cookis資訊過大,通常是導致不完整的請求頭的原因。(由web伺服器端的配置決定)

在nginx中這類web伺服器中,決定這個值的配置欄位是large_client_header_buffers。通過調整這個字段,可以模擬400狀態碼

401狀態碼

許可權驗證錯誤。就是需要使用者名稱,密碼等許可權認證,但是客戶端又沒有通過認證。在nginx中想要模擬必須將nginx調整為認證模式。
403狀態碼

沒有許可權訪問。檔案許可權過小或者人為設定不允許某個ip位址訪問等,都會出現403狀態碼
404狀態碼

檔案不存在,當我們訪問乙個不存在的檔案時,就會出現404狀態碼。
499狀態碼

499這個狀態碼不是htto協議中定義的標準狀態碼,而是nginx自己定義的乙個狀態碼

當客戶端主動斷開連線的時候,nginx就會返回499的狀態碼。按照這個狀態碼的定義,只要nginx返回結果之前主動斷開客戶端連線,就會出現499狀態碼。

5xx狀態碼

5xx 型別的狀態碼主要表示服務端錯誤,此時就不需要糾結客戶端問題
500狀態碼

伺服器端**出現異常。**語法錯誤,連線不上資料庫等就會出現500狀態碼
502狀態碼

502 bad gateway。nginx 502錯誤的原因比較多,主要是因為在**模式下後端伺服器出現問題引起的。這個錯誤一般都不是nginx本身的問題,一定要從後端找原因。比如出現一種後端php-fpm程序掛掉的情況,就會出現502狀態碼。
504狀態碼

504 gateway time-ou 超時 當php-fpm的執行時間大於nginx的讀超時時間,就會出現504狀態碼

HTTP 常見狀態碼

如果某項請求傳送到您的伺服器要求顯示您 上的某個網頁 例如,使用者通過瀏覽器訪問您的網頁或 googlebot抓取網頁時 伺服器將會返回 http 狀態碼響應請求。此狀態碼提供關於請求狀態的資訊,告訴 googlebot 關於您的 和請求的網頁的資訊。一些常見的狀態碼為 下面是 http 狀態碼的完...

HTTP 常見狀態碼

http 常見的狀態碼 1 開頭 表示客戶端相應某些動作 100 必須繼續發出請求 101 客戶要求伺服器根據請求轉化為http協議版本 2 開頭 表示請求成功 200 請求成功 3 開頭 表示頁面重定向 301 刪除請求資料 302 在其他url 發現請求資料 304 客戶端應執行了get操作 但...

HTTP常見狀態碼

此文為學習記錄所用,為加深自己的理解,會隨著學習的深入而做補充.已記錄200 301 302 403 404 狀態碼定義1xx 報告 接收到請求,繼續程序 2xx成功 步驟成功接收,被理解,並被接受 3xx重定向 為了完成請求,必須採取進一步措施 4xx客戶端出錯 請求包括錯的順序或不能完成 5xx...