什么是HTTP協(xié)議
- HTTP協(xié)議是Hypertext Transfer Protocol(超文本傳輸協(xié)議)的縮寫
- 主要用于World Wide Web(萬維網(wǎng))與瀏覽器之間傳輸超文本數(shù)據(jù)
- 可以傳輸各種格式的數(shù)據(jù),例如圖片,文本,附件等等
- 基于TCP/IP通信協(xié)議來傳輸數(shù)據(jù)
工作過程
- 對www.baidu.com這個網(wǎng)址進(jìn)行DNS域名解析,得到對應(yīng)的IP地址
- 根據(jù)這個IP快毛,找到對應(yīng)的服務(wù)器漠另,發(fā)起TCP的三次握手
- 建立TCP連接后發(fā)起HTTP請求
- 服務(wù)器響應(yīng)HTTP請求,瀏覽器得到html代碼
- 瀏覽器先解析渲染html代碼跃赚,然后在請求html代碼中的資源(如js笆搓、css性湿、圖片等)
(先得到html代碼,才去加載, js,css,圖片是二次加載) - 瀏覽器對頁面進(jìn)行渲染呈現(xiàn)給用戶
- 服務(wù)器關(guān)閉關(guān)閉TCP連接
http請求時序圖
URL
- URL(Uniform Resource Locator)統(tǒng)一資源定位符
- URL的組成部分:protocol://hostname[:port]/path
2.1 protocol:協(xié)議,例如http,ftp等等
2.2 hostname:主機(jī)名,例如IP端口或者域名 www.jiaolianmishu.com
2.3 port:端口,可以為空,默認(rèn)端口為80
2.4 path:路徑,使用"/"分隔開 /Index/index
2.5 例如: http://www.jiaolianmishu.com/Index/index
請求方式
- HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法满败。
- HTTP/1.1協(xié)議中共定義了八種方法(有時也叫“動作”)肤频,來表明Request-URL指定的資源不同的操作方式
- HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法
請求方法說明
- OPTIONS
返回服務(wù)器針對特定資源所支持的HTTP請求方法,也可以利用向web服務(wù)器發(fā)送‘*’的請求來測試服務(wù)器的功能性 - HEAD
向服務(wù)器索與GET請求相一致的響應(yīng)算墨,只不過響應(yīng)體將不會被返回宵荒。這一方法可以再不必傳輸整個響應(yīng)內(nèi)容的情況下,就可以獲取包含在響應(yīng)小消息頭中的元信息净嘀。 - GET
向特定的資源發(fā)出請求报咳。注意:GET方法不應(yīng)當(dāng)被用于產(chǎn)生“副作用”的操作中,例如在Web Application中挖藏,其中一個原因是GET可能會被網(wǎng)絡(luò)蜘蛛等隨意訪問暑刃。Loadrunner中對應(yīng)get請求函數(shù):web_link和web_url - POST
向指定資源提交數(shù)據(jù)進(jìn)行處理請求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請求體中膜眠。POST請求可能會導(dǎo)致新的資源的建立和/或已有資源的修改岩臣。 Loadrunner中對應(yīng)POST請求函數(shù):web_submit_data,web_submit_form - PUT
向指定資源位置上傳其最新內(nèi)容 - DELETE
請求服務(wù)器刪除Request-URL所標(biāo)識的資源 - TRACE
回顯服務(wù)器收到的請求,主要用于測試或診斷 - CONNECT
HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器宵膨。
注意:
1)方法名稱是區(qū)分大小寫的架谎,當(dāng)某個請求所針對的資源不支持對應(yīng)的請求方法的時候,服務(wù)器應(yīng)當(dāng)返回狀態(tài)碼405(Mothod Not Allowed)辟躏;當(dāng)服務(wù)器不認(rèn)識或者不支持對應(yīng)的請求方法時谷扣,應(yīng)返回狀態(tài)碼501(Not Implemented)。
2)HTTP服務(wù)器至少應(yīng)該實現(xiàn)GET和HEAD/POST方法鸿脓,其他方法都是可選的抑钟,此外除上述方法,特定的HTTP服務(wù)器支持?jǐn)U展自定義的方法野哭。
http版本差別
http0.9
最初的http版本在塔,僅支持get方法,只能傳輸純文本內(nèi)容拨黔,所以請求結(jié)束服務(wù)段會給客戶端返回一個HTML格式的字符串蛔溃,然后由瀏覽器自己渲染。
http0.9是典型的無狀態(tài)連接(無狀態(tài)是指協(xié)議對于事務(wù)處理沒有記憶功能篱蝇,對同一個url請求沒有上下文關(guān)系贺待,每次的請求都是獨立的,服務(wù)器中沒有保存客戶端的狀態(tài))
http1.0
這個版本后任何文件形式都可以被傳輸零截,本質(zhì)上支持長連接麸塞,但是默認(rèn)還是短連接,增加了keep-alive關(guān)鍵字來由短鏈接變成長連接涧衙。
HTTP的請求和回應(yīng)格式也發(fā)生了變化哪工,除了要傳輸?shù)臄?shù)據(jù)之外奥此,每次通信都包含頭信息,用來描述一些信息雁比。
還增加了狀態(tài)碼(status code)稚虎、多字符集支持、多部分發(fā)送(multi-part type)偎捎、權(quán)限(authorization)蠢终、緩存(cache)、內(nèi)容編碼(content encoding)等
http1.1
HTTP1.1最大的變化就是引入了長鏈接茴她,也就是TCP鏈接默認(rèn)是不關(guān)閉的可以被多個請求復(fù)用寻拂。客戶端或者服務(wù)器如果長時間發(fā)現(xiàn)對方?jīng)]有活動就會關(guān)閉鏈接败京,但是規(guī)范的做法是客戶端在最后一個請求的時候要求服務(wù)器關(guān)閉鏈接兜喻。對于同一個域名,目前瀏覽器支持建立6個長鏈接赡麦。
節(jié)約帶寬朴皆,HTTP1.1支持只發(fā)送header頭信息不帶任何body信息,如果服務(wù)器認(rèn)為客戶端有權(quán)限請求指定數(shù)據(jù)那就返回100泛粹,沒有就返回401遂铡,當(dāng)客戶端收到100的時候可以才把要請求的信息發(fā)給服務(wù)器。并且1.1還支持了請求部分內(nèi)容晶姊,如果當(dāng)前客戶端已經(jīng)有一部分資源了扒接,只需要向服務(wù)器請求另外的部分資源即可,這也是支持文件斷點續(xù)傳的基礎(chǔ)们衙。
1.1版本中增加了host處理钾怔,在HTTP1.0中認(rèn)為每臺服務(wù)器都綁定一個唯一的ip地址,因此在URL中并沒有傳遞主機(jī)名蒙挑,但是隨著虛擬機(jī)技術(shù)的發(fā)展宗侦,可能在一臺物理機(jī)器上存在多個虛擬主機(jī),并且他們共享了一個ip地址忆蚀,http1.1中請求消息和響應(yīng)消息都支持host頭域矾利,如果不存在還會報出錯誤
http2.0
多路復(fù)用:在一個連接里面并發(fā)處理請求,不像http1.1在一個tcp連接中各個請求是串行的馋袜∧衅欤花銷很大
在1.0版本后增加了header頭信息,2.0版本通過算法把header進(jìn)行了壓縮這樣數(shù)據(jù)體積就更小欣鳖,在網(wǎng)絡(luò)上傳輸就更快察皇。
服務(wù)端有了推送功能,將客戶端感興趣的東西推給客戶端泽台,當(dāng)客戶端請求這些時什荣,直接去緩存中取就行呀忧。
報文結(jié)構(gòu)
HTTP報文主要有request和response兩種
request 圖解
請求報文說明:
- 請求行(request line): 包括請求方法,資源的URL,以及HTTP協(xié)議版本
- 請求頭部(header): 包括請求服務(wù)器所需要的附加信息
- 空行(CRLF):請求頭部后面必須是空行,即使請求數(shù)據(jù)為空,也要有空行
- 請求數(shù)據(jù)(body):也稱為請求實體,可以添加任意類型的數(shù)據(jù)
response圖解
- 狀態(tài)行(status line): 包括HTTP協(xié)議版本,狀態(tài)碼和狀態(tài)消息組成
- 消息報頭(header): 包括返回客戶端的一些附件信息
- 空行(CRLF): 必須有空行
- 響應(yīng)正文(body): 服務(wù)器返回給客戶端的數(shù)據(jù),可以是任意類型的數(shù)據(jù)
常用的HTTP消息頭
Request Headers
Accept:text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, image/apng, /; q=0.8
作用:向服務(wù)器申明客戶端(瀏覽器)可以接受的媒體類型(MIME)的資源
解釋:瀏覽器可以接受 text/html、application/xhtml+xml溃睹、application/xml類型,通配符/ 表示任意類型的數(shù)據(jù)胰坟。并且瀏覽器按照該順序進(jìn)行接收因篇。( text/html —> application/xhtml+xml —> application/xml)
Accept-encoding: gzip, deflate, br
作用:向服務(wù)器申明客戶端(瀏覽器)接收的編碼方法,通常為壓縮方法
解釋:瀏覽器支持采用經(jīng)過 gzip笔横,deflate 或 br 壓縮過的資源
Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
作用:向服務(wù)器申明客戶端(瀏覽器)接收的語言
解釋:瀏覽器能夠接受 en-US, en 和 zh-CN 三種語言竞滓,其中 en-US 的權(quán)重最高 ( q 最高為1,最低為 0)吹缔,服務(wù)器優(yōu)先返回 en-US 語言
延伸:語言與字符集的區(qū)別:zh-CN 為漢語商佑,漢語中有許多的編碼:gbk2312 等
Cache-control: max-age=0
作用:控制瀏覽器的緩存,常見值為 private厢塘、no-cache茶没、max-age、alidate晚碾,默認(rèn)為 private抓半,根據(jù)瀏覽器查看頁面不同的方式來進(jìn)行區(qū)別
解釋:瀏覽器在訪問了該頁面后,不再會訪問服務(wù)器
Cookie:
作用:告訴服務(wù)器關(guān)于 Session 的信息格嘁,存儲讓服務(wù)器辨識用戶身份的信息笛求。
Refer:https://www.baidu.com/xxxxxxxxxx
作用:告訴服務(wù)器該頁面從哪個頁面鏈接的
解釋:該頁面從 https://www.baidu.com 中的搜索結(jié)果中點擊過來的
Upgrade-insecure-requests:1
作用:申明瀏覽器支持從 http 請求自動升級為 https 請求,并且在以后發(fā)送請求的時候都使用 https
解釋:當(dāng)頁面中包含大量的 http 資源的時候(圖片糕簿、iframe)探入,如果服務(wù)器發(fā)現(xiàn)一旦存在上述的響應(yīng)頭的時候,會在加載 http 資源的時候自動替換為 https 請求
User-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
作用:向服務(wù)器發(fā)送瀏覽器的版本懂诗、系統(tǒng)蜂嗽、應(yīng)用程序的信息。
解釋:Chrome 瀏覽器的版本信息為 63.0.3239.132响禽,并將自己偽裝成 Safari徒爹,使用的是 WebKit 引擎,WebKit偽裝成 KHTML芋类,KHTML偽裝成Gecko(偽裝是為了接收那些為Mozilla隆嗅、safari、gecko編寫的界面)
延伸:可以隨便填(但不應(yīng)該隨便填)不過一般用于統(tǒng)計侯繁。
X-Chrome-UMA-Enabled胖喳、X-Client-Data :與 Chrome 瀏覽器相關(guān)的數(shù)據(jù)
Response Headers
Accpet-ranges:bytes
作用:表明自己是否接收獲取某個實體的一部分(比如文件的一部分)
解釋:接受
延伸:服務(wù)器支持?jǐn)帱c續(xù)傳,以及同時下載文件的多個部分時贮竟,必須設(shè)置為 bytes
Alt-svc: hq=”:443”; ma=2592000; quic=51303431; quic=51303339; quic=51303338; quic=51303337; quic=51303335,quic=”:443”; ma=2592000; v=”41,39,38,37,35”
作用:服務(wù)器使用“alt-svc”(Alternative Servicesde)標(biāo)識資源丽焊,可以通過不同的網(wǎng)絡(luò)位置或者網(wǎng)絡(luò)協(xié)議進(jìn)行獲取
Content-length:24211
作用:HTTP消息實體的傳輸長度
解釋:該實體的傳輸長度(被 br 壓縮后的長度為)24211
Content-encoding:br
作用:設(shè)置數(shù)據(jù)使用的編碼類型(壓縮類型)
解釋:數(shù)據(jù)使用 br 進(jìn)行壓縮后返回到瀏覽器上
Content-type:text/html; charset=UTF-8
作用:設(shè)置響應(yīng)體的媒體資源類型(MIME)
解釋:服務(wù)器發(fā)送 html 文檔较剃,字符集為 UTF-8
Age:1037016
作用:表明該響應(yīng)從緩存中拿到時響應(yīng)的壽命,代理服務(wù)器當(dāng)前的系統(tǒng)時間與此應(yīng)答消息中的通用消息頭Date的值之差
解釋:該響應(yīng)在緩存代理中存放了 1037016 秒
Date:Thu, 15 Feb 2018 20:31:45 GMT
作用:設(shè)置響應(yīng)被服務(wù)器創(chuàng)建的時間
解釋:在 GMT(格林威治標(biāo)準(zhǔn)時間)Thu, 15 Feb 2018 20:31:45技健,發(fā)送的響應(yīng)
Expires:Fri, 01 Feb 2019 17:33:57 GMT
作用:設(shè)置響應(yīng)體的過期時間写穴。如果在過期之前進(jìn)行訪問,就會讀取緩存中的版本雌贱。
解釋:在 GMT(格林威治標(biāo)準(zhǔn)時間)Fri, 01 Feb 2019 17:33:57啊送,在這個時間之前,客戶端不用再向服務(wù)器發(fā)送請求
延伸:如果和 Cache-control 同時存在欣孤,那么被其中的 max-age 覆蓋
Last-modified:Mon, 12 Dec 2016 14:45:00 GMT
作用:設(shè)置該文件在服務(wù)器端中最后被修改的時間
解釋:在 GMT(格林威治標(biāo)準(zhǔn)時間)Fri, 01 Feb 2019 17:33:57馋没,該文件被服務(wù)器所修改
Vary:Accept-Encoding
作用:服務(wù)器響應(yīng)時根據(jù)請求頭中的的值返回不同的內(nèi)容的
過程:瀏覽器 —> 請求 —> squid —> 請求 —> apache
解釋:
apache 在 response headers 中 返回了 vary: Accept-Encoding,
在 squid 中需要存儲該 encoding 的值作為緩存 key 的值降传,比如篷朵,resourse_1 : gzip, resourse_2: deflate
下次請求到 squid,需要先找到緩存文件的索引文件婆排,根據(jù)不同的 accept-Encoding(gzip声旺、deflate)的值來找相應(yīng)的文件。
p3p:CP=”This is not a P3P policy! See g.co/p3phelp for more info.”
作用:隱私安全平臺(the Platform for Privary Preferences)泽论,網(wǎng)站向瀏覽器申明自己的隱私政策艾少。
Server: gws
作用:設(shè)置服務(wù)器名稱
Set-cookie:
作用:設(shè)置 http 的 Cookie
Status: 200
作用:設(shè)置HTTP的響應(yīng)狀態(tài)
解釋:200 代表成功請求
Strict-transport-security: max-age=3600
作用:HSTS 策略,告訴 HTTP 客戶端緩存 HTTPS 策略多少時間翼悴。
解釋:在 3600 秒內(nèi)缚够,不管用戶在瀏覽器輸入不帶協(xié)議的網(wǎng)址如:google.com 時,還是http協(xié)議的網(wǎng)址如:http://google.com 鹦赎,都會默認(rèn)將請求內(nèi)部跳轉(zhuǎn)到 https://google.com
X-frame-options: SAMEORIGIN
作用:點擊劫持保護(hù)
解釋:頁面可以在相同域名頁面的 frame中展示
X-content-type-options: nosniff
作用:設(shè)置瀏覽器的”MIME”攻擊機(jī)制
解釋:服務(wù)器中的內(nèi)容是 image/png谍椅,那么瀏覽器就會顯示為 image/png
X-xss-protection:1; mode=block
作用:設(shè)置瀏覽器的XSS防護(hù)機(jī)制
解釋:瀏覽器如果檢測到惡意代碼,則不渲染惡意代碼
Content-Encoding:gzip + Content-Type:text/html
作用:聲明文檔的壓縮類型和文檔的確切MIME類型
解釋:文檔使用的 MIME 類型是 text/html古话,并且對內(nèi)容進(jìn)行了 gzip 壓縮
Etag + Last-Modified
作用:服務(wù)器給文件資源打上的標(biāo)簽雏吭,客戶端傳回 Last-Modified / Etag 給服務(wù)器驗證緩存
流程:
客戶端請求資源 example.html
服務(wù)器返回資源,并且給該 html 連同 Etag + Last-Modified 一起緩存
客戶端再次請求資源 example.html陪踩,并且將 if-None-Match 一起傳給服務(wù)器
服務(wù)器計算存在服務(wù)器中的 eamples.html de Etag杖们,并且與客戶端傳來的 if-None-Match:Etag 或者 Last-Modified 進(jìn)行匹配:
if-None-Match-false:返回 304 和空的響應(yīng)頭
if-None-Match-true:返回 200 和新修改的資源,如果其中的某個值沒有改變肩狂,那么就返回 304 和一個空的響應(yīng)頭
Last-Modified:文件上次修改的時間(精確到秒)
Etag: 實體標(biāo)簽(Entity Tag)摘完,標(biāo)識該資源的狀態(tài),ETag 如果改變傻谁,說明資源狀態(tài)已經(jīng)改變孝治,能夠修復(fù) Last-Modified 的一些問題。
服務(wù)器的文件可能只改變了修改時間,而內(nèi)容沒有改變谈飒,客戶端不希望認(rèn)為文件已經(jīng)修改
文件在秒以下的時間進(jìn)行修改
常用的HTTP錯誤碼
200 - 服務(wù)器成功返回網(wǎng)頁
404 - 請求的網(wǎng)頁不存在
503 - 服務(wù)不可用
詳細(xì)分解:
1xx(臨時響應(yīng))
表示臨時響應(yīng)并需要請求者繼續(xù)執(zhí)行操作的狀態(tài)代碼岂座。
代碼 說明
100 (繼續(xù)) 請求者應(yīng)當(dāng)繼續(xù)提出請求。 服務(wù)器返回此代碼表示已收到請求的第一部分杭措,正在等待其余部分费什。
101 (切換協(xié)議) 請求者已要求服務(wù)器切換協(xié)議,服務(wù)器已確認(rèn)并準(zhǔn)備切換手素。
2xx (成功)
表示成功處理了請求的狀態(tài)代碼吕喘。
代碼 說明
200 (成功) 服務(wù)器已成功處理了請求。 通常刑桑,這表示服務(wù)器提供了請求的網(wǎng)頁。
201 (已創(chuàng)建) 請求成功并且服務(wù)器創(chuàng)建了新的資源募舟。
202 (已接受) 服務(wù)器已接受請求祠斧,但尚未處理。
203 (非授權(quán)信息) 服務(wù)器已成功處理了請求拱礁,但返回的信息可能來自另一來源琢锋。
204 (無內(nèi)容) 服務(wù)器成功處理了請求,但沒有返回任何內(nèi)容呢灶。
205 (重置內(nèi)容) 服務(wù)器成功處理了請求吴超,但沒有返回任何內(nèi)容。
206 (部分內(nèi)容) 服務(wù)器成功處理了部分 GET 請求鸯乃。
3xx (重定向)
表示要完成請求鲸阻,需要進(jìn)一步操作。 通常缨睡,這些狀態(tài)代碼用來重定向鸟悴。
代碼 說明
300 (多種選擇) 針對請求,服務(wù)器可執(zhí)行多種操作奖年。 服務(wù)器可根據(jù)請求者 (user agent) 選擇一項操作细诸,或提供操作列表供請求者選擇。
301 (永久移動) 請求的網(wǎng)頁已永久移動到新位置陋守。 服務(wù)器返回此響應(yīng)(對 GET 或 HEAD 請求的響應(yīng))時震贵,會自動將請求者轉(zhuǎn)到新位置。
302 (臨時移動) 服務(wù)器目前從不同位置的網(wǎng)頁響應(yīng)請求水评,但請求者應(yīng)繼續(xù)使用原有位置來進(jìn)行以后的請求猩系。
303 (查看其他位置) 請求者應(yīng)當(dāng)對不同的位置使用單獨的 GET 請求來檢索響應(yīng)時,服務(wù)器返回此代碼之碗。
304 (未修改) 自從上次請求后蝙眶,請求的網(wǎng)頁未修改過。 服務(wù)器返回此響應(yīng)時,不會返回網(wǎng)頁內(nèi)容幽纷。
305 (使用代理) 請求者只能使用代理訪問請求的網(wǎng)頁式塌。 如果服務(wù)器返回此響應(yīng),還表示請求者應(yīng)使用代理友浸。
307 (臨時重定向) 服務(wù)器目前從不同位置的網(wǎng)頁響應(yīng)請求峰尝,但請求者應(yīng)繼續(xù)使用原有位置來進(jìn)行以后的請求。
4xx(請求錯誤)
這些狀態(tài)代碼表示請求可能出錯收恢,妨礙了服務(wù)器的處理武学。
代碼 說明
400 (錯誤請求) 服務(wù)器不理解請求的語法。
401 (未授權(quán)) 請求要求身份驗證伦意。 對于需要登錄的網(wǎng)頁火窒,服務(wù)器可能返回此響應(yīng)。
403 (禁止) 服務(wù)器拒絕請求驮肉。
404 (未找到) 服務(wù)器找不到請求的網(wǎng)頁熏矿。
405 (方法禁用) 禁用請求中指定的方法。
406 (不接受) 無法使用請求的內(nèi)容特性響應(yīng)請求的網(wǎng)頁离钝。
407 (需要代理授權(quán)) 此狀態(tài)代碼與 401(未授權(quán))類似票编,但指定請求者應(yīng)當(dāng)授權(quán)使用代理。
408 (請求超時) 服務(wù)器等候請求時發(fā)生超時卵渴。
409 (沖突) 服務(wù)器在完成請求時發(fā)生沖突慧域。 服務(wù)器必須在響應(yīng)中包含有關(guān)沖突的信息。
410 (已刪除) 如果請求的資源已永久刪除浪读,服務(wù)器就會返回此響應(yīng)昔榴。
411 (需要有效長度) 服務(wù)器不接受不含有效內(nèi)容長度標(biāo)頭字段的請求。
412 (未滿足前提條件) 服務(wù)器未滿足請求者在請求中設(shè)置的其中一個前提條件碘橘。
413 (請求實體過大) 服務(wù)器無法處理請求论泛,因為請求實體過大,超出服務(wù)器的處理能力蛹屿。
414 (請求的 URI 過長) 請求的 URI(通常為網(wǎng)址)過長屁奏,服務(wù)器無法處理。
415 (不支持的媒體類型) 請求的格式不受請求頁面的支持错负。
416 (請求范圍不符合要求) 如果頁面無法提供請求的范圍坟瓢,則服務(wù)器會返回此狀態(tài)代碼。
417 (未滿足期望值) 服務(wù)器未滿足"期望"請求標(biāo)頭字段的要求犹撒。
5xx(服務(wù)器錯誤)
這些狀態(tài)代碼表示服務(wù)器在嘗試處理請求時發(fā)生內(nèi)部錯誤折联。 這些錯誤可能是服務(wù)器本身的錯誤,而不是請求出錯识颊。
代碼 說明
500 (服務(wù)器內(nèi)部錯誤) 服務(wù)器遇到錯誤诚镰,無法完成請求奕坟。
501 (尚未實施) 服務(wù)器不具備完成請求的功能。 例如清笨,服務(wù)器無法識別請求方法時可能會返回此代碼月杉。
502 (錯誤網(wǎng)關(guān)) 服務(wù)器作為網(wǎng)關(guān)或代理,從上游服務(wù)器收到無效響應(yīng)抠艾。
503 (服務(wù)不可用) 服務(wù)器目前無法使用(由于超載或停機(jī)維護(hù))苛萎。 通常,這只是暫時狀態(tài)检号。
504 (網(wǎng)關(guān)超時) 服務(wù)器作為網(wǎng)關(guān)或代理腌歉,但是沒有及時從上游服務(wù)器收到請求。
505 (HTTP 版本不受支持) 服務(wù)器不支持請求中所用的 HTTP 協(xié)議版本齐苛。