Web核心--Http協議

HTTP協議簡介:

Hyper Text Transfer Protocol 也就是超文本傳輸協議,目前是使用標準化協議1.1版本,屬於應用層的協議,所以還要經過物理層TCP/IP才能夠進行真實的傳輸。HTTP協議是更加關注內容本身的協議,默認端口號是80。

HTTP協議傳輸的特點:

1、傳輸明文內容,安全性比較差;

2、HTTP協議是一種無狀態的協議;

在HTTP協議的基礎上,我們可以使用HTTPS這種比較安全的協議,它在傳輸的過程中是加密的;在傳輸Webservice中我們使用的比較多的SOAP協議,它也是基於HTTP協議進行傳輸的。

HTTP協議的構成:

主要是包括請求和響應兩大部分,其中請求報文包含:請求行、請求頭、請求正文。響應報文包含:響應行(協議+狀態碼+響應信息)、響應頭、響應正文。

HTTP請求:最主要的是GET和POST請求,還有HEAD、OPTIONS、PUT、DELETE、TRACE請求,這些都是一些不常用的請求。

GET請求簡單來說就是獲取服務器端的資源。一般獲取的是服務器端的一個頁面、一張圖片、一個靜態資源;

POST請求主要是由客戶端主動發送數據到服務器端。比方說在我們登錄一個頁面時,我們需要把我們的用戶名和密碼發送給服務器進行驗證,那麼這個過程我們就需要使用post請求來實現;

HEAD請求獲取由request-url所標識的資源的響應消息報頭;

OPTIONS請求查詢服務器的性能,或查詢與資源相關的選項和需求;

PUT請求服務器存儲一個資源,並且使用request-url作爲標識;

DELETE請求服務器刪除由request-url所標識的資源;

TRACE請求服務器回送收到的請求消息,主要用於測試或診斷。

HTTP請求報文包含的內容:

請求的第一行:請求的類型和請求的內容;

Accept:客戶端能夠接收的數據類型;

Referer:跳轉前的url;

Accept-Language:客戶端優先接收什麼語言編碼的文檔;

User-Agent:客戶端瀏覽器的信息;

Accept-Encoding:客戶端所能接收的壓縮編碼格式,而這裏的gzip和deflate則是HTTP中兩種主要的壓縮;

Host:客戶端請求的主機;

Connection:表示發完請求後的狀態,Keep-Alive代表保持連接,Close:代表釋放連接;

Cookie:保存狀態信息。

HTTP響應:響應一般包括協議版本號、狀態碼、協議的頭部、響應的正文。

上面我們已經說了,HTTP協議是一種無狀態的協議,但是它可以通過Session和Cookie在服務器和客戶端之間傳遞狀態信息。

HTTP-Session:在服務器端記錄信息,Session機制的安全性要高一些,但是這些數據直接保存在服務器上會佔用服務器的資源,當訪問較多時,會影響服務器的性能;

HTTP-Cookie:在客戶端記錄信息,保存的數據大小有限制,單個cookie不能超過4K,並且Cookie的安全性較差。

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