HTTP特點 URL 報文

2021-10-05 12:00:32 字數 3337 閱讀 3419

支援客戶/伺服器模式

客戶/伺服器模式工作的方式是由客戶端向伺服器發出請求,伺服器響應請求,並進行相應服務

簡單快速靈活

http允許傳輸任意型別的物件

正在傳輸的型別有content-type(content-type是http包中用來表示內容型別的標識)加以標記

無連線

無連線的含義是限制每次連線只處理乙個請求(請求的時候鏈結,請求完就釋放掉)

伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線(keep alive功能能夠提公升效率)

採用這種方式可以節省傳輸時間

無狀態

http是無狀態協議

無狀態是指協議對於事物處理沒有記憶能力。(他傳資料,但他不記)缺少狀態意味著如果後續處理需要前面的資訊,則它必須重傳,這樣可能導致每次連線傳送的資料量增大。

另一方面,在伺服器不需要先前資訊時它的應答就較快。

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

◆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/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中提取出來的

我們在瀏覽器中輸入:

瀏覽器傳送的請求訊息中,就會包含host請求報頭域,如下:host: www.fljf.com:8080

6.referer

當瀏覽器向web伺服器傳送請求的時候,一般會帶上referer,告訴伺服器我是從哪個頁面鏈結過來的,伺服器藉此可以獲得一些資訊用於處理

7.user-agent

作用:告訴http伺服器,客戶端使用的作業系統和瀏覽器的名稱和版本(以防止和我們相差太多)

很多情況下我們會通過user-agent來判斷瀏覽器型別,從而進行不同的相容設計

8.content-type

作用:說明了報文體內物件的**型別http報文結構分析–響應報文

響應頭 響應體

報文第一行:報文協議及版本 狀態碼及狀態描述

響應體

HTTP特點與報文解析

http允許傳輸任意型別的物件 正在傳輸的型別有content type content type是http包中用來表示內容型別的標識 加以標記 無連線的含義是限制每次連線只處理乙個請求 伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線 採用這種方式可以節省傳輸時間 http是無狀態協議 無狀...

讀書筆記1 URL 和 HTTP 報文

每個 web 伺服器資源都有乙個名字,這樣客戶端就可以說明它們感情需的資源是什麼了,伺服器資源名被稱為 uri。uri 就像網際網路上的郵政位址一樣,在世界範圍內唯一標識並定位資訊資源。url 是資源識別符號最常見的形式,它描述了一台特定伺服器上某資源的特定位置。現在,幾乎所有的 uri 都是 ur...

HTTP報文解析

超文字傳輸協議 hypertext transfer protocol,簡稱http 是應用層協議。http 是一種請求 響應式的協議,即乙個客戶端與伺服器建立連線後,向伺服器傳送乙個請求 伺服器接到請求後,給予相應的響應資訊。http請求報文分為三部分 請求行 請求頭部 請求包體 由方法字段 ur...