一、http介紹
-
無狀態(tài)
協(xié)議——不管請求多少次活鹰,都是一樣的應答(不會記錄上一次的行為or記錄) - https——
- URL: Uniform Resrouce Locator
統(tǒng)一資源定位器
- URI: Uniform Resuorce Identfier
統(tǒng)一資源標識符
- MIME: Multipurpose Internet Mail Extensions
多用途互聯(lián)網(wǎng)郵件擴展類型
二纠亚、http請求頭
- http1.1可以使得——【連接可以復用】
減少了
TCP3次握手
的開銷
- 第一行是
請求行
- 請求行結(jié)束標志——
\r\n
- 頭域是第2行蹦玫,第3行奥秆,第4行阻肿,第5行,第6行团驱,第7行(Connection部分也是頭域)..
- Cookie部分
- 空行
\r\n
(表示請求頭
結(jié)束) -
一整個
部分都是請求頭
先是三次握手摸吠,然后客戶端發(fā)送GET報文,服務器發(fā)送應答報文
2.1 請求方法
- GET嚎花,HEAD
HEAD類似于GET寸痢,只不過
HEAD
只是探測是否有資源,GET
是獲取資源
-
請求行
結(jié)束之后紊选,是具體的頭域信息
域名
-
Accept
指定了接收html, png, mp3這些 -
Cookie
在頭域中有 -
長連接
也不能改變HTTP這種無狀態(tài)
的性質(zhì)
讓我們來看一個
請求頭
——
發(fā)送的時候就是整個請求頭
發(fā)出去(不要忘記最末尾
有一個換行
)
三啼止、服務器如何響應請求
- 狀態(tài)行
- 消息報頭
- 空行
- 響應報文
空行
的意思是響應頭
已經(jīng)結(jié)束了,下面的是響應正文
Content-Length
包含122個字節(jié)兵罢,空行之前是響應頭
3.1 狀態(tài)碼
-
1
——繼續(xù) -
2
——成功 -
3
——重定向献烦,304意味著Not Modified
也就是未更改,服務器認為客戶端請求的這個頁面沒有更改卖词,服務器也不用更新
這個頁面了(請求的頁面
沒有更新) -
4
——客戶端的請求
出錯 -
5
——服務器處理請求
出錯
3.2 響應頭域
-
Content-Length
——表示內(nèi)容長度
-
Content-Type
——屬于什么MIME格式(html, png, mp3)等等 -
Set-Cookie
——設置和頁面關聯(lián)的【Cookie】
保存客戶端的信息巩那,eg. 登錄
淘寶
登錄一次后,后面瀏覽此蜈,點擊商品
就不用再登錄了即横,那么如何知道登錄成功
呢?
響應報文中的頭域會Set-Cookie
裆赵,服務器將Cookie發(fā)給客戶端
东囚,客戶端就記錄我已經(jīng)登錄了
,Cookie中有記錄的憑證
(保存在瀏覽器的緩存
中)
瀏覽同一個網(wǎng)站的不同頁面
的時候顾瞪,每次都要把cookie發(fā)給服務器
舔庶,告訴服務器我已經(jīng)登錄了
(通過【Cookie】告訴服務器)
-
E-Tag
——標識每一個文件抛蚁,校驗
一個文件 -
Cache-Control
——緩存控制(服務器上的緩存控制
)
響應報文的每一行后面都有一個
/r/n
- Keep-ALive中有個
timeout
空行
表示響應頭
結(jié)束了陈醒,以下是文件內(nèi)容
部分