302状态码_你见过 HTTP 哪些状态码?
好久沒有寫技術文章,今天在四川廣元無事,總結一篇。附一張今天早上在嘉陵江遇見的白鹡鸰 (不是我拍的)
?白鹡鸰101 Switch Protocol
200 Ok
201 Created
204 No Content
206 Partial Content
301 Moved Permanently
302 Found
304 Not Modified
307 Temporary Redirect
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found
405 Method Not Allowed
413 Payload Too Large
418 I'm A Teapot
422 Unprocessable Entity
500 Internal Server Error
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
101 Switch Protocol
升級協議,如從 http 到 ws
示例:
101200 Ok
表示資源請求成功
示例:
$?curl?https://shanyue.tech?--headHTTP/2?200
201 Created
資源創建成功,多用于 POST 請求
204 No Content
響應不會返回 Body,一般由以下兩種情況
示例一: 掘金為 Options 請求的狀態碼設置為 204
掘金為 Options 請求的狀態碼設置為 204示例二: 知乎為 Delete 請求的狀態碼設置為 204,以下請求為取消關注
掘金為 Delete 請求的狀態碼設置為 204示例三: 當你在知乎看段子時,不妨打開控制臺,會發現一個是 204 的狀態碼
curl?'https://www.zhihu.com/sc-profiler'?\
??-H?'content-type:?application/json'?\
??--data-binary?'[["i","production.heifetz.main.desktop.v1.Collector.screen.1536_960.count",1,1]]'?\
??--compressed?-vvv
206 Partial Content
當請求多媒體數據數據較大時,會進行分片傳輸。當你在B站觀看視頻,打開開發者工具,會發現許多 206 狀態碼以及響應頭 Content-Range
示例:
B站上的視頻資源請求狀態碼為206301 Moved Permanently
永久重定向。http 轉向 https時,有時會使用 301,如 B 站。
$?curl?www.bilibili.com?-vvv302 Found
暫時重定向。http 轉向 https時,有時也會使用 302,如知乎
$?curl?www.zhihu.com?-vvv304 Not Modified
資源已被緩存,與之相關的響應頭部有:
- ETag
- last-modified/if-modified-since
一般用作 index.html 等不帶 hash 的資源,由于示例太多,這里就不舉例了
307 Temporary Redirect
暫時重定向。也可作為 http 到 https 的重定向。還有一種用途用作 HSTS,當谷歌瀏覽器發現某 http 資源已被加入到 HSTS 列表,瀏覽器內部會通過 307 作重定向
示例:
山月個人博客網站的 HSTSStackoverflow 中的307?http 狀態碼中 301,302和307有什么區別
?- 301,Moved Permanently。永久重定向,該操作比較危險,需要謹慎操作:如果設置了301,但是一段時間后又想取消,但是瀏覽器中已經有了緩存,還是會重定向。
- 302,Found。臨時重定向,但是會在重定向的時候改變 method: 把 POST 改成 GET,于是有了 307
- 307,Temporary Redirect。臨時重定向,在重定向時不會改變 method
400 Bad Request
可以用于做 API 的參數校驗
401 Unauthorized
當沒有權限的用戶請求需要帶有權限的資源時,會返回 401,此時攜帶正確的權限憑證再試一次可以解決問題
知乎登錄失敗時403 Forbidden
我就是不想讓你訪問,不管你的權限憑證是否正確!
?In summary, a 401 Unauthorized response should be used for missing or bad authentication, and a 403 Forbidden response should be used afterwards, when the user is authenticated but isn’t authorized to perform the requested operation on the given resource.
?- 403與401狀態碼有什么區別
404 Not Found
未找到資源
405 Method Not Allowed
我需要 POST 這條資源,你去 GET 個錘子
413 Payload Too Large
不要給我扔這么大的 Body,我處理不過來
418 I'm A Teapot
我是一個茶壺
我要拋咖啡,你卻扔給我一個茶壺?
也可以用來處理不合法的參數校驗,我想要個字符串,你給了我一個整數?
422 Unprocessable Entity
常用來處理不合法的參數校驗。
Github 上給某個項目點贊時,故意設置一個不正確的參數命名,會返回狀態碼 422
422500 Internal Server Error
服務器內部錯誤,很有可能是應用層未捕獲錯誤而導致整個服務掛掉
502 Bad Gateway
網關超時,Nginx 上常見,從上游應用層返回了響應
503 Service Unavailable
由于大量流量造成服務忙,稍等一下說不定就能用了
504 Gateway Timeout
網關超時,上游應用層遲遲未響應
總結
以上是生活随笔為你收集整理的302状态码_你见过 HTTP 哪些状态码?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: can协议crc计算_详解CAN/CAN
- 下一篇: linux安装g++编译器_Ubuntu