目錄2、post請求
三、http響應報文
http(hypertext transport protocol),即超文字傳輸協議。這個協議詳細規定了瀏覽器和全球資訊網伺服器之間互相通訊的規則。
http就是乙個通訊規則,通訊規則規定了客戶端傳送給伺服器的內容格式,也規定了伺服器傳送給客戶端的內容格式。其實我們要學習的就是這個兩個格式!客戶端傳送給伺服器的格式叫「請求協議」;伺服器傳送給客戶端的格式叫「響應協議」。
特點:http叫超文字傳輸協議,基於請求/響應模式
http是無狀態協議。(客戶端和伺服器端並不會儲存網頁狀態,使用者開啟乙個伺服器上的網頁和之前開啟的網頁之間是沒有任何聯絡的,所以才出現了cookie和session。它們就是為了儲存客戶端和使用者狀態的技術。)
http是基於tcp/ip通訊協議來傳遞資料
http協議通常承載於tcp協議之上,有時有承載與tls或ssl協議層之上,這時候就是https。
5、http預設的埠號為80,https預設的埠號為443。請求報文的格式如下:
請求首行 // 請求方式 請求路徑(uri) 協議和版本,例如:get /index.html http/1.1
請求頭資訊 // 請求頭名稱:請求頭內容,即為key:value格式,例如:host:localhost
空行 // 用來與請求體分隔開
請求實體 // get沒有請求體,只有post有請求體。
請求首行內容:
方法:
get 獲取資源
post向伺服器端傳送資料,傳輸實體主體
put 傳輸檔案
head獲取報文首部
delete 刪除檔案
options 詢問支援的方法
trace 追蹤路徑
uri:
協議/版本號:
請求頭:
通用首部(general header)
請求首部(request header)
響應首部(response header)
實體首部(entity header fields)
請求體常見的請求為get和post請求
http預設的請求方式就是get
1.1 get請求報文特點:
1.2 get常用操作
1.3 get請求訊息頭內容
accept-encoding:gzip, deflate, sdch
accept-language:zh-cn,zh;q=0.8
cache-control:no-cache
connection:keep-alive
cookie:csrftoken=z5h43zwarx7aij82oeizbowbsaqa2lpk
host:127.0.0.1:8090
pragma:no-cache
upgrade-insecure-requests:1
name
login/
1 requests ❘ 737 b transferred ❘ finish: 5 ms ❘ domcontentloaded: 14 ms ❘ load: 14 ms
2.1 post請求特點
2.2 post請求常用操作
2.3 post請求訊息頭內容
request headers
accept-encoding:gzip, deflate
accept-language:zh-cn,zh;q=0.8
cache-control:no-cache
connection:keep-alive
content-length:13
cookie:csrftoken=z5h43zwarx7aij82oeizbowbsaqa2lpk
host:127.0.0.1:8090
origin:
pragma:no-cache
referer:/login/
upgrade-insecure-requests:1
user-agent:mozilla/5.0 (macintosh; intel mac os x 10_11_1)
form data
username:dman
content-length:13:請求體的長度,這裡表示13個位元組。
username=dman:請求體內容!dman是在表單中輸入的資料,username是表單字段的名字。
重點補充:referer請求頭是比較有用的乙個請求頭,它可以用來做統計工作,也可以用來做防盜煉。
響應報文的格式如下:
響應首行
響應頭資訊
空行響應體
2.1 狀態碼是什麼?
狀態碼是國際約定的一種瀏覽器和伺服器之間的響應規則,不同的數值代表不同的含義。
2.2 常用的狀態碼
狀態碼含義
200 ok
請求成功,瀏覽器會把響應體內容(通常是html)顯示在瀏覽器中
404 not found
請求的資源沒有找到,說明客戶端錯誤的請求了不存在的資源;
500 internal server error
請求資源找到了,但伺服器內部出現了錯誤;
302 found
重定向,當響應碼為302時,表示伺服器要求瀏覽器重新再發乙個請求,伺服器會傳送乙個響應頭location,它指定了新請求的url位址;
304 not modified
未按預期修改文件。客戶端有緩衝的文件並發出了乙個條件性的請求(一般是提供if-modified-since頭表示客戶只想比指定日期更新的文件)。伺服器告訴客戶,原來緩衝的文件還可以繼續使用。
補充:當使用者第一次請求index.html時,伺服器會新增乙個名為last-modified響應頭,這個頭說明了
index.html的最後修改時間,瀏覽器會把index.html內容,以及最後響應時間快取下來。當使用者第
二次請求index.html時,在請求中包含乙個名為if-modified-since請求頭,它的值就是第一次請
求時伺服器通過last-modified響應頭髮送給瀏覽器的值,即index.html最後的修改時間,
if-modified-since請求頭就是在告訴伺服器,我這裡瀏覽器快取的index.html最後修改時間是這個,
您看看現在的index.html最後修改時間是不是這個,如果還是,那麼您就不用再響應這個index.html
內容了,我會把快取的內容直接顯示出來。而伺服器端會獲取if-modified-since值,與index.html
的當前最後修改時間比對,如果相同,伺服器會發響應碼304,表示index.html與瀏覽器上次快取的相
同,無需再次傳送,瀏覽器可以顯示自己的快取頁面,如果比對不同,那麼說明index.html已經做了修
改,伺服器會響應200。
更多http狀態碼請看 web前端面試題 http協議
1.http全稱 超文字協議傳輸 2.http工作流程 首先客戶機與伺服器需要建立連線。只要單擊某個超級鏈結,http的工作開始。1.收線客戶機與伺服器需要建立連線,只要單擊某個超級連線,http的工作開始 2.建立連線後,客戶機傳送乙個請求給伺服器,請求方式的格式為 統一資源識別符號 url 協議...
前端之http協議
http 是規定了瀏覽器和全球資訊網伺服器之間相互通訊的規則,它有兩個格式,客戶端傳送給服務端的格式叫 請求協議 伺服器傳送給客戶端的格式叫 響應協議 b 瀏覽器 s 服務端 叫bs模式 請求協議的格式如下 請求首行 請求方式 請求路徑 協議和版本 如get index.html http 1.1 ...
web開發 Http協議基礎
一 http0.9版 http 是基於 tcp ip 協議的應用層協議 它不涉及資料報 packet 傳輸,主要規定了客戶端和伺服器之間的通訊格式,預設使用80埠。最早版本是1991年發布的0.9版。該版本極其簡單,只有乙個命令get。get index.html 上面命令表示,tcp 連線 con...