HTTP協議---HTTP請求中的常用請求欄位和HTTP的響應狀態碼及響應頭
用於HTTP請求中的常用請求頭欄位
Accept:用於高速伺服器,客戶機支援的資料型別
Accept-Charset:用於告訴伺服器,客戶機採用的編碼格式
Accept-Encoding:用於告訴伺服器,客戶機支援的資料壓縮格式
Accept-Language:客戶機的語言環境
Host:客戶機通過這個頭高速伺服器,想訪問的主機名
If-Modified-Since:客戶機通過這個頭告訴伺服器,資源的快取時間
Referer:客戶機通過這個頭告訴伺服器,它是從哪個資源來訪問伺服器的(防盜鏈)
User-Agent:客戶機通過這個頭告訴伺服器,客戶機的軟體環境
Cookie:客戶機通過這個頭可以向伺服器帶資料
Connection:處理完這次請求後是否斷開連線還是繼續保持連線
Date:當前時間值
HTTP響應
狀態行:用於描述伺服器對請求的處理結果。
狀態碼:100~199:表示成功接收請求,要求客戶端繼續提交下一次請求才能完成整個處理過程。
200~299:表示成功接收請求並已完成整個處理過程。常用200
300~399:為完成請求,客戶需進一步細化請求。例如:請求的資源已經移動一個新地址、常用302(意味著你請求我,我讓你去找別人),307和304(我不給你這個資源,自己拿快取)
400~499:客戶端的請求有錯誤,常用404(意味著你請求的資源在web伺服器中沒有)403(伺服器拒絕訪問,許可權不夠)
500~599:伺服器端出現錯誤,常用500
多個響應頭:響應頭用於描述伺服器的基本資訊,以及資料的描述,伺服器通過這些資料的描述資訊,可以通知客戶端如何處理等一會兒它回送的資料。
Location:這個頭配合302狀態碼使用,用於告訴客戶找誰。
Server:伺服器通過這個頭告訴瀏覽器伺服器的型別。
Content-Encoding:伺服器通過這個頭告訴瀏覽器資料的壓縮格式。
Content-Length:伺服器通過這個頭告訴瀏覽器回送資料的長度
Content-Type:伺服器通過這個頭告訴瀏覽器回送資料的型別
Last-Modified:告訴瀏覽器當前資源的最後快取時間
Refresh:告訴瀏覽器隔多久重新整理一次
Content-Disposition:告訴瀏覽器以下載方式開啟資料
Transfer-Encoding:告訴瀏覽器資料的傳送格式
ETag:快取相關的頭
········三種禁止瀏覽器快取的頭欄位:
Expires:告訴瀏覽器把回送的資源快取多長時間 -1或0則是不快取
Cache-Control:no-cache
Pragma:no-cache
伺服器通過以上兩個頭,也就是控制瀏覽器不要快取資料
實體內容:代表伺服器向客戶端回送的資料
5.請列舉三種禁止瀏覽器快取的頭欄位,並寫出相應的設定值。
解答:
1.HTTP1.0對於每個連線都的建立一次連線一次只能傳送一個請求和響應,請求就會關閉,HTTP1.0沒有Host欄位;
而HTTP1.1在同一個連線中可以傳送多個請求和響應,多個請求可以重疊和同時進行,HTTP1.1必須有Host欄位。
2.請求訊息結構:一個請求行、若干訊息頭、以及屍體內容,當中的一些訊息頭和實體內容都是可選的,訊息頭和實體內容之間要用空行隔開。
響應訊息結構:一個狀態行、若干訊息頭、以及屍體內容,當中的一些訊息頭和實體內容都是可選的,訊息頭和實體內容之間要用空行隔開。
兩者的區別:就是請求訊息有請求行,響應訊息有狀態行。
GET /mail/aa.html HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: localhost:8080
If-Modified-Since: Wed, 17 Oct 2012 09:35:13 GMT
If-None-Match: W/"62-1350466513174"
Connection: Keep-Alive
HTTP/1.1 304 Not Modified
Server: Apache-Coyote/1.1
ETag: W/"62-1350466513174"
Date: Wed, 17 Oct 2012 09:45:38 GMT
3.資料量不大,因為GET方式資料量限制1K,不帶有保護資料的情況下使用GET方式訪問WEB伺服器;資料量大,而且帶有需要保護的資料時使用POST方式訪問WEB伺服器。
如果瀏覽器傳送伺服器的資料量超過1K,應使用POST方式訪問伺服器,因為POST方式向伺服器傳送是資料時,會先把傳送的資料打包傳送到WEB伺服器。
4.響應狀態嗎表示的意義:
200:表示成功,正常結果;
302:表示重定向,轉到別的站點;
304:表示未修改;
404:表示找不到資源;
500:表示內部伺服器錯誤;
5.Expires:告訴瀏覽器把回送的資源快取多長時間 -1或0則是不快取
Cache-Control:no-cache
Pragma:no-cache
相關文章
- HTTP請求方法及響應狀態碼詳解HTTP
- HTTP請求頭與響應頭HTTP
- HTTP請求格式和HTTP響應格式HTTP
- HTTP請求頭和響應頭詳解HTTP
- http請求頭與響應頭的應用HTTP
- HTTP的請求與響應HTTP
- HTTP 請求與響應HTTP
- Http請求與響應HTTP
- HTTP 請求響應頭部欄位裡 ETAG 的用法舉例HTTP
- 關於常用的http請求頭以及響應頭詳解HTTP
- Go如何響應http請求?GoHTTP
- HTTP請求與響應簡析HTTP
- 指令碼化HTTP 取得響應 指定請求指令碼HTTP
- Spring MVC能響應HTTP請求的原因?SpringMVCHTTP
- Wireshark的HTTP請求包和響應包如何對應HTTP
- Qt - http網路請求與響應QTHTTP
- Python中get、post請求詳解(HTTP請求頭、狀態碼)PythonHTTP
- HTTP請求頭的Content-Type欄位HTTP
- http請求頭個欄位解釋HTTP
- HTTP 響應狀態碼HTTP
- 網站http請求狀態碼網站HTTP
- HTTP協議-HTTP響應報文HTTP協議
- SAP ABAP Gateway 系統裡 HTTP 請求響應頭部欄位 DataServiceVersion 的可能取值範圍GatewayHTTP
- 完整的一次 HTTP 請求響應過程(二)HTTP
- 完整的一次 HTTP 請求響應過程(一)HTTP
- HTTP協議響應狀態碼(301、302、303的區別)HTTP協議
- HTTP的請求與響應以及使用Chrome的檢視方式HTTPChrome
- HTTP常用請求頭大揭祕HTTP
- status 返回當前請求的http狀態碼HTTP
- HTTP協議如何發起請求HTTP協議
- HTTP 協議六種請求方法HTTP協議
- HTTP 請求頭部欄位中 connection - keep-alive 的含義HTTPKeep-Alive
- golang常用的http請求操作GolangHTTP
- 【Go】優雅的讀取 http 請求或響應的資料GoHTTP
- 【Go】優雅的讀取http請求或響應的資料GoHTTP
- 協議層的攻擊:HTTP請求走私協議HTTP
- 從HTTP請求響應迴圈探索Flask的基本工作方式HTTPFlask
- 最全的HTTP響應狀態碼列表:除了404,HTTP狀態碼還有啥?HTTP
- 【Go】優雅的讀取http請求或響應的資料-續GoHTTP