HTTP特點/URL/報文

HTTP的特點

支持客戶/服務器模式

在這裏插入圖片描述
客戶/服務器模式工作的方式是由客戶端向服務器發出請求,服務器響應請求,並進行相應服務

簡單快速
客戶向服務器請求服務時,只需要傳送請求方法和路徑。
請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯繫的類型不同
由於HTTP協議簡單,使得HTTP服務器的程序規模小,因而通訊速度很快。

靈活

HTTP允許傳輸任意類型的對象
正在傳輸的類型有Content-Type(Content-Type是HTTP包中用來表示內容類型的標識)加以標記

無連接

無連接的含義是限制每次連接只處理一個請求(請求的時候鏈接,請求完就釋放掉)
服務器處理完客戶的請求,並收到客戶的應答後,即斷開連接(keep alive功能能夠提升效率)
採用這種方式可以節省傳輸時間

無狀態

HTTP是無狀態協議
無狀態是指協議對於事物處理沒有記憶能力。(他傳數據,但他不記)缺少狀態意味着如果後續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。
另一方面,在服務器不需要先前信息時它的應答就較快。

有一個另外的方式能夠輔助他的記憶(cookie和session)

URI和URL

在這裏插入圖片描述
◆URI:一個緊湊的字符串用來標示抽象或物理資源
A URI可以進一步被分爲定位符、名字或兩者都是

(URL) 是URI的子集,除了確定一個資源,還提供一種定位該資源的主要訪問機制(如其網絡“位置”)

簡單來說:
URI可以分爲URL,URN或同時具備locators和names特性的一個東西
URN作用就好像一個人的名字, URL就像一個人的地址
◆換句話說: URN確定了東西的身份,URL提供了找到它的方式

URL是URI的一種,但不是所有URI都是URL
URI和URL最大的差別是“訪問機制”(比如是通過http還是ftp)
URN是唯一標識的一部分,是身份信息
在這裏插入圖片描述

HTTP報文

HTTP報文結構分析–請求報文
在這裏插入圖片描述
報文第一行:報文協議及版本 狀態碼及狀態描述
HTTP報文頭大體可以分爲四類,分別是:
通用報文頭、請求報文頭、響應報文頭和實體報文頭
在HTTP/1.1裏一共規範了47種報文頭字段
四類報文頭

在這裏插入圖片描述在這裏插入圖片描述

在這裏插入圖片描述在這裏插入圖片描述
常用報文頭

1.ACCEPT
作用:瀏覽器可以接受的媒體類型
Accept:text/html 代表瀏覽器可以接受服務器回發的類型爲text/html也就是我們常說的html文檔,如果服務器無法返回text/html類型的數據,服務器應該返回一個406錯誤(Non Acceptable)
Accept: */*代表瀏覽器可以處理所有類型

如果想要給顯示的媒體類型增加優先級,則使用q=來額外表示權重值;權重時q的範圍時0-1(可精確到小數點後3位),且1爲最大值。不指定權重q值時,默認權重爲q=1.0。當服務器提供多種內容時,將會首先返回權重值最高的媒體類型。

2.Accepte-Encoding
作用:瀏覽器申明自己接收的編碼方法,通常指定壓縮方法,是否支持壓縮,支持什麼壓縮方法(gzip,deflate)

3.Accepte-Language
作用:瀏覽器申明自己接收的語言
Accepte-Language: zh-cn,zh;q=0.7,en-us,en;q=0.3
客戶端在服務器有中文版資源的情況下,會請求其返回中文版對應的響應,沒有中文版時,則請求返回英文版響應

4.Connection
Connection: keep-alive 當一個網頁打開完成後,客戶端和服務器之間用於傳輸HTTP數據的TCP連接不會關閉,如果客戶端再次訪問這個服務器上的網頁,會繼續使用這一條已經建立的連接

Connection: close 代表一個Request完成後,客戶端和服務器之間用於傳輸HTTP數據的TCP連接會關閉,當客戶端再次發送Request,需要重新建立TCP連接。

5.Host
作用:請求報頭域主要用於指定被請求資源的Internet主機和端口號,它通常從HTTP URL中提取出來的
我們在瀏覽器中輸入: http://www.fljf.com:8080
瀏覽器發送的請求消息中,就會包含Host請求報頭域,如下:Host: www.fljf.com:8080

6.Referer
當瀏覽器向web服務器發送請求的時候,一般會帶上Referer,告訴服務器我是從哪個頁面鏈接過來的,服務器藉此可以獲得一些信息用於處理

7.User-Agent
作用:告訴HTTP服務器,客戶端使用的操作系統和瀏覽器的名稱和版本(以防止和我們相差太多)
很多情況下我們會通過User-Agent來判斷瀏覽器類型,從而進行不同的兼容設計

8.Content-type
作用:說明了報文體內對象的媒體類型
text/html:HTML格式
text/plain:純文本格式
text/xml:XML格式
image/gif: gif圖片格式
image/jpeg: jpg圖片格式
image/png: png圖片格式
application/xhtml+xml: XHTML格式
application/xml : XML數據格式
application/atom + xml : Atom XML 聚合格式
application/json: JSON數據格式
application/pdf: pdf格式
application/msword: Word文檔格式
application/octet-stream: 二進制流數據(如常見的文件下載)
application/x-www-form-urlencoded: 表單提交

HTTP報文結構分析–響應報文
在這裏插入圖片描述
響應頭 響應體
報文第一行:報文協議及版本 狀態碼及狀態描述
響應體

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章