超文字傳送協議HTTP

2021-08-07 10:50:09 字數 3337 閱讀 4992

我們每天使用的http到底是什麼呢?本篇就學習一下超文字傳送協議http~-~

1、http協議的特點:

(1)http是面向事務的應用層協議,它是全球資訊網上能夠可靠地交換檔案(包括文字、聲音、影象等各種多**檔案)的重要基礎。

(2)http協議是無連線的。http使用了面向連線的tcp作為運輸層協議,保證了資料的可靠傳輸。htpp不必考慮資料在傳輸過程中被丟棄又怎樣被重傳。

(3)http協議是無狀態的。同乙個客戶第二次訪問同乙個伺服器上的頁面,伺服器的響應與第一次被訪問時的相同。http的無狀態特性簡化了對伺服器的設計,使伺服器更容易支援大量併發的http請求。

2、http的報文結構

由於http是面向文字的,因此在報文中的每乙個欄位都是一些ascii碼串,因而各個欄位的長度都是不確定的。

1》請求報文——從客戶向伺服器傳送請求報文

http常用的請求方法有:

get:申請獲取資源,而不對伺服器產生任何其他影響

head:僅要求伺服器返回頭部資訊,而不需要傳輸任何實際內容

post:客戶端向伺服器提交資料的方法。這種方法會影響伺服器,伺服器可能根據收到的資料建立新的資源,也可能更新原有資源。

put:上傳某個資源

delete:刪除某個資源

trace:要求目標伺服器返回原始http請求的內容。它可用來檢視中間伺服器對http請求的影響。

options:檢視伺服器對某個特定的url都支援那些請求方法

connect:用於某些**伺服器,它們能把請求的連線轉化成乙個安全隧道

下面是乙個請求報文的例子:

短連線:同乙個客戶的多個連續的http請求不能共用同乙個tcp連線

長連線:同乙個客戶的多個連續的http請求可以使用同乙個tcp連線

"connection"頭部字段就是用來告訴對方乙個請求完成之後該如何處理連線的,比如立即關閉連線(close)或者保持一段時間以等待後續連線(keep-alive)

http請求可以包含可選的訊息體,如果訊息體非空,則http請求的頭部字段必須包含描述該訊息體長度的字段。

《2》響應報文——從伺服器到客戶的回答

常見的http的狀態碼及狀態資訊以及含義

http協議是一種無狀態的協議,即每個http請求之間沒有任何上下文關係。如果伺服器處理http請求時需要用到前面http請求的相關資訊,客戶端必須重傳這些資訊。這樣就導致http請求就要傳輸更多的資料。常見的解決方法就是cookie.cookie是伺服器傳送給客戶端的特殊資訊(通過http應答的頭部字段「set-cookie」),客戶端每次向伺服器傳送請求的時候都需要帶上這些資訊(通過http請求的頭部字段「cookie」).這樣伺服器就可以區分不同的客戶了。基於瀏覽器的自動登入就是用cookie實現的。

cookie的工作原理:當使用者瀏覽某個使用cookie的**時,該**的伺服器就為該使用者產生乙個唯一識別碼,並以此作為乙個索引在伺服器的後端資料庫中產生乙個專案。接著再給使用者的http的響應報文中新增乙個叫做set-cookie的首部行。當使用者收到這個響應時,其瀏覽器就在它管理的特定的cookie檔案中新增一行,其中包括這個伺服器的主機名和set-cookie後面給出的識別碼。當該使用者繼續瀏覽這個**時,每傳送乙個http請求報文,其瀏覽器就會從cookie檔案中取出這個**的識別碼,並放到http請求報文的cookie首部行中。於是,這個**就能跟蹤該使用者在該**的活動。

3、**伺服器

**伺服器是一種網路實體,又稱為全球資訊網快取記憶體。**伺服器把最近的一些請求和響應暫存在本地磁碟中。當新請求到達時,若**伺服器發現這個請求與暫時存放的請求相同,就返回暫存的響應,而不需要按url的位址在此去向網際網路訪問該資源。**伺服器可在使用者端或伺服器端工作,也可在中間系統工作。

使用**伺服器後訪問網際網路的過程是這樣的:

(1)校園網pc中的瀏覽器向網際網路的伺服器請求服務時,就先和校園網的**伺服器建立tcp連線,並向**伺服器傳送http請求報文。

(2)若**伺服器已經存放了所請求的物件,**伺服器就把這個物件放入http響應報文中返回給pc瀏覽器。

(3)否則,**伺服器就與網際網路上的源點伺服器建立tcp連線,並傳送http請求報文。

(4)源點伺服器把所請求的物件放入http響應報文中返回給校園網的**伺服器。

(5)**伺服器收到這個物件後,先複製在自己的本地儲存器中(留待以後用),然後在把這個物件放入http響應報文中,通過已經建立的tcp連線,返回給請求該物件的瀏覽器。

4、什麼是https?

https是以安全為目標的http通道,簡單講是http的安全版。

https的實現原理:

有兩種基本的加解密型別:

(1)對稱加密:金鑰只有乙個,加密解密為同乙個金鑰,加解密速度快,典型的加密演算法有des,aes等;

(2)非對稱加密:金鑰成對出現(且根據公鑰無法推知私鑰,根據私鑰無法推知公鑰),加密解密使用不同金鑰(公鑰加密需要私鑰解密,私鑰加密需要公鑰解密)相對對稱加密速度較慢,典型的非對稱加密演算法有rsa,dsa等。

https的通訊過程:

https通訊的特點:

(1)客戶端產生的金鑰只有客戶端和伺服器能得到

(2)加密的金鑰只有客戶端和伺服器端能得到明文

(3)客戶端到伺服器端的通訊是安全的。

如果想更加深入的理解http協議,可以參考《深入理解http協議》~~

超文字傳送協議HTTP

http定義了瀏覽器怎樣向全球資訊網伺服器請求全球資訊網文件,以及伺服器怎樣把文件傳送給瀏覽器。http使用了面向連線的tcp作為運輸層協議,保證了資料的可靠性。http協議和伺服器建立tcp連線,需要使用三報文握手。當建立tcp連線的三報文握手的前兩部分完成後,全球資訊網客戶就把http請求報文,...

超文字傳送協議 HTTP的簡單認識

為了使超文字的鏈結能夠高效率地完成,需要用 http 協議來傳送一切必須的資訊。從層次的角度看,http 是面向事務的 transaction oriented 應用層協議,它是全球資訊網上能夠可靠地交換檔案 包括文字 聲音 影象等各種多 檔案 的重要基礎。http 是面向事務的客戶伺服器協議。ht...

HTTP協議 超文字傳輸協議

http協議 超文字傳輸協議 瀏覽器與服務端之間傳輸資料的協議,底層的傳輸協議為tcp。http則為應用層協議,負責定義傳輸資料的格式。http協議分為1.0與1.1兩個版本。現在常用為1.1版本。協議規定客戶端與服務端通訊方式為 一次請求一次響應 即 客戶端發起請求,服務端接收到請求後向客戶端傳送...