HTTP协议简介_请求消息/请求数据包/请求报文_响应消息/响应数据包/响应报文
文章目錄
- HTTP 介紹
- 請求數據包/請求消息/請求報文
- 請求數據包解析
- 響應數據包/響應消息/響應報文
HTTP 介紹
概念:Hyper Text Transfer Protocol 超文本傳輸協議
傳輸協議:定義了客戶端和服務器端通信時發送數據的格式
特點:
1.基于TCP/IP的高級協議
2.默認端口號:80
3.基于請求/響應模型的:一次請求對應一次響應
4.無狀態的:每次請求之間相互獨立,不能交互數據
歷史版本:
1.0:每一次請求響應都會建立新的連接;每一次新的請求都會建立新的連接
1.1:復用連接
請求數據包/請求消息/請求報文
1.第一部分,請求行(數據包中的一行內容)
請求行包括三部分內容:
1.1.請求方式(get/post)
2.1.請求資源路徑(端口號之后的內容,比如 /appname/servlet)
3.1.協議的類型與版本
2.第二部分,若干消息頭(消息頭是由 w3c 定義的一些有特殊含義的鍵值對)
也叫請求頭,客戶端告訴服務端一些信息
2.1.消息頭的樣式,比如:content-type= text/html;
2.2.服務器和瀏覽器都會遵守這些消息頭的約定。
2.3.消息頭一般由服務器或者瀏覽器自動生成,但是也可以通過編程的方式生成
常見請求頭:
1.User- Agent:瀏覽器告訴服務器,我訪問你使用的瀏覽器版本信息。可以在服務器端獲取該頭的信息,解決瀏覽器的兼容性問題
2.Accept:瀏覽器告訴服務器,瀏覽器可以接收的內容格式,即服務器可以返回給瀏覽器什么格式的內容
3.Accept-Encoding:瀏覽器告訴服務器,瀏覽器可以接收的壓縮格式
4.Referer:告訴服務器,我(當前請求)從哪里來
作用:
防盜鏈,判斷訪問來源,從而屏蔽非法訪問
統計工作,統計不同的訪問來源
5.Connection:連接狀態
3.第三部分,實體內容
也叫請求體,封裝請求消息中的請求參數
3.1.如果請求方式是 post 方式,請求參數及值會放在這兒。
3.2.如果請求方式是 get 方式,請求參數與值包含在請求資源路徑里面。
請求數據包解析
響應數據包/響應消息/響應報文
1.第一部分:狀態行
也叫響應行
HTTP/1.1 200 OK
協議版本 狀態碼 狀態碼描述
1.1.協議的類型與版本
1.2.狀態碼(狀態碼是一個數字,不同的數字代表不同的含義)
1.3.狀態碼的描述
2.第二部分:若干消息頭
也叫響應頭
2.1.格式
響應頭名稱:值
2.1.1Content-Type:text/html;charset=UTF-8
告訴瀏覽器返回是html格式的文本內容,使用的編碼格式是UTF-8。這樣瀏覽器就會使用html引擎解析文本內容,且使用UTF-8進行解碼。
2.1.2.Content-Length:101
文本內容的字節數
2.1.3.Content-disposition
in-line:默認值,告訴客戶端在當前頁面內打開響應體的內容
attachment:告訴客戶端以附件形式打開響應體的內容。常用于文件的下載。
3.第三部分:實體內容
也叫響應體
服務器返回給瀏覽器的最終數據。例如,html源代碼;圖片的二進制碼等
總結
以上是生活随笔為你收集整理的HTTP协议简介_请求消息/请求数据包/请求报文_响应消息/响应数据包/响应报文的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自瞄是什么意思
- 下一篇: MyEclipse 的 TCP/IP M