get請求、post請求、響應報文
阿新 • • 發佈:2019-02-01
GET /07_WEB_HTTP/index.html HTTP/1.1 Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */* Accept-Language: zh-CN,en-US;q=0.5 User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3) Accept-Encoding: gzip, deflate Host: localhost:8080 Connection: Keep-Alive
GET請求沒有請求體,所以也沒有空行
GET請求報文結構
請求首行
請求頭
請求首行:
GET /07_WEB_HTTP/index.html?username=admin&password=123123 HTTP/1.1
請求方式 資源地址?查詢字串 協議名/協議版本
請求頭:
> 通過觀察請求頭是一個一個的鍵值對結構,有的是一個鍵對應一個值,有的是一個鍵對應多個值 Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */* 允許的檔案型別:檔案型別使用的MIME值,*/* 代表任意型別 Accept-Language: zh-CN,en-US;q=0.5 允許的語言:zh-CN 簡體中 en-US 美國英語 ,主要用來告訴伺服器當前使用者所在的地區 User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3) 使用者系統資訊: Accept-Encoding: gzip, deflate 允許的壓縮格式: Host: localhost:8080 主機地址: Connection: Keep-Alive 連線時間:Keep-Alive表示的是一個長連線,告訴伺服器等待瀏覽器將所有資源都載入完畢之後在斷開連線
=========================================
POST /07_WEB_HTTP/index.html HTTP/1.1 Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */* Referer: http://localhost:8080/07_WEB_HTTP/form.html Accept-Language: en-US,zh-CN;q=0.5 User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3) Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip, deflate Host: localhost:8080 Content-Length: 29 Connection: Keep-Alive Cache-Control: no-cache username=%E5%BC%A0%E4%B8%89&password=13123
請求首行
POST /07_WEB_HTTP/index.html HTTP/1.1
請求方式 資源地址 協議名/協議版本
請求頭
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
Referer: http://localhost:8080/07_WEB_HTTP/form.html
請求的來源:廣告計費 防止盜鏈
Accept-Language: en-US,zh-CN;q=0.5
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)
Content-Type: application/x-www-form-urlencoded
請求體的型別:application/x-www-form-urlencoded請求體中的內容將會使用URL編碼,
將URL地址中的中文轉換為二進位制字元就叫做URL編碼
URL編碼的過程
文字 --> 二進位制編碼 --> 十六進位制
Accept-Encoding: gzip, deflate
Host: localhost:8080
Content-Length: 29
請求體的長度:
Connection: Keep-Alive
Cache-Control: no-cache
是否使用快取:no-cache不使用快取
空行
作用分割請求首部和請求體
請求體
用來傳遞請求引數
get請求和post請求的區別
除了表單method屬性設定為post時,其餘情況都是get請求
get請求通過url地址傳送請引數,post請求通過請求體來發送請求引數
get請求沒有體,post請求有體
get請求傳送的請求引數可以通過位址列直接看到,而post請求不能看到,所以post請求稍微安全一些
url地址的字元限制為255個字元,所以不能通過get請求傳送大量的資訊
請求體的大小是沒有限制,所以我們可以通過post請求傳送任何資訊
一般情況下提交表單時都是用post請求
=======================================================
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Accept-Ranges: bytes
ETag: W/"169-1444635567679"
Last-Modified: Mon, 12 Oct 2015 07:39:27 GMT
Content-Type: text/html
Content-Length: 169
Date: Mon, 12 Oct 2015 07:40:09 GMT
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>我是一個孤獨的網頁!!</h1>
</body>
</html>
響應首行
HTTP/1.1 200 OK
協議名/協議版本 響應狀態碼 響應狀態碼的描述
常見的響應狀態碼:
200 響應成功 2開頭的都是成功相關的
404 資源未找到 4開頭全都是瀏覽器端錯誤
500 伺服器內部錯誤 5開頭的全都伺服器的錯
302 請求的重定向 3開頭的都是重定向相關
響應頭
Server: Apache-Coyote/1.1
伺服器的版本:
Accept-Ranges: bytes
允許資料的範圍:
ETag: W/"169-1444635567679"
Last-Modified: Mon, 12 Oct 2015 07:39:27 GMT
最後的修改時間:這個時間是格林威治標準時間
Content-Type: text/html;charset=utf-8
響應體內容型別:text/html表示的響應體中是一個html網頁 charset指的是網頁的編碼
Content-Length: 169
響應體的長度(網頁的大小)
Date: Mon, 12 Oct 2015 07:40:09 GMT
響應時間:格林威治標準時間
空行
用來分割響應首部和響應體
響應體
響應一般就是網頁內容,也就是說在瀏覽器視窗中顯示的內容就是報文中響應體的內容
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>我是一個孤獨的網頁!!</h1>
</body>
</html>