目錄
1、HTTP 狀態碼
HTTP 狀態碼的英文爲 HTTP Status Code。在前端開發的日常工作中,免不了向服務器發請求,服務器在接收到請求後會返回一個包含 HTTP 狀態碼的信息頭(server header),用以響應瀏覽器的請求。HTTP 狀態碼有很多,感興趣的同學可以移步 菜鳥教程,這裏只總結幾種比較常見的 HTTP 狀態碼,以備不時之需。下面是常見的 HTTP 狀態碼:
- 200 - 請求成功
- 301 - 資源(網頁等)被永久轉移到其它 URL
- 404 - 請求的資源(網頁等)不存在
- 500 - 內部服務器錯誤
2、HTTP狀態碼分類
HTTP 狀態碼由三個十進制數字組成,其中第一個十進制數字定義了狀態碼的類型,HTTP 狀態碼共分爲 5 種類型:
分類 | 分類描述 |
---|---|
1** | 信息,服務器收到請求,需要請求者繼續執行操作 |
2** | 成功,操作被成功接收並處理 |
3** | 重定向,需要進一步的操作以完成請求 |
4** | 客戶端錯誤,請求包含語法錯誤或無法完成請求 |
5** | 服務器錯誤,服務器在處理請求的過程中發生了錯誤 |
3、至少說出七八個吧?
只知道 200、404、500 這幾個狀態碼是不夠的,爲什麼?據我所知,不少的人面試的時候會遇到這種問題,讓你說出至少七八個狀態碼,雖說上述的三個狀態碼是最常見的,但是你說不上幾個其他的來,是不是多少有點差強人意?所以,即使是背,也最好多背幾個,可能現在沒遇到,但萬一有一天被問到,你是否會後悔沒抽十分鐘背幾個?
3.1、2xx — 成功
- 200(OK):表示請求成功。一般用於 GET 與 POST 請求
- 204(no content):表示請求成功,但是服務器並未返回任何內容
- 205(reset request):表示請求成功,但服務器並未返回任何內容,與 204 不同的是要求請求方重置內容
3.2、3xx — 重定向
- 301(Moved Permanently): 永久重定向,表示請求的資源已分配了新的 URL
- 302(Found):臨時重定向,表示請求的資源臨時分配了新的 URL
- 303(See Other):表示請求的資源還存在另外一個 URL,可以通過 GET 與 POST 請求訪問
- 304(Not Modified):未修改,所請求的資源未修改,服務器返回此狀態碼時,不會返回任何資源
3.3、4xx — 客戶端錯誤
- 400(Bad Request):表示請求的報文存在語法錯誤,服務器無法解析
- 401(Unauthorized):表示發送的請求需要有通過 HTTP 認證的認證信息
- 403(Forbidden):服務器理解請求客戶端的請求,但是拒絕執行此請求
- 404(Not Found):表示服務器無法根據客戶端的請求找到資源(網頁)
3.4、5xx — 服務端錯誤
- 500(Internal Server Error):服務器內部錯誤,無法完成請求
- 503(Service Unavailable):由於超負載或系統維護,服務器暫時的無法處理客戶端的請求