HTTP協議中概念

客戶端:經過發送請求獲取服務器端資源的Web瀏覽器等。瀏覽器

TCP/IP協議族:安全

計算機與網絡設備要相互通訊,雙方必須基於相同的方法。(好比,如何探測到通訊目標,由哪一方先發起通訊、使用哪一種語言進行通訊等規則都須要事先肯定)服務器

不一樣的硬件、操做系統之間的通訊,全部的這一切都須要一種規則。而咱們把這種規則成爲協議族(protocol)。網絡

把互聯網相關聯的協議集合起來總稱爲TCP/IP。less

 

TCP、IP的分層管理:TCP/IP協議族按層次分別分爲:應用層、傳輸層、網絡層和數據鏈路層。大數據

應用層:決定了向用戶提供服務時通訊的活動  好比:FTP和DNS服務就是其中兩類。HTTP協議也處於該層。操作系統

傳輸層:提供處於網絡鏈接中的兩臺計算機之間的數據傳輸。在傳輸層有兩個性質不一樣的協議:TCP(Transmission Control Protocol,傳輸控制協議)和UDP(User Data Protocol,用戶數據報協議)。3d

網絡層:網絡層用來處理在網絡上流動的數據包。  該層規定了數據包傳輸路徑。 代理

鏈路層:用來處理鏈接網絡的硬件部分。  好比:控制操做系統和硬件的驅動、網卡、光纖等物理可見部分。orm

 

IP(Internet Protocol):IP協議的做用是把各類數據包傳送給對方。

爲了確保數據傳送成功,其中兩個重要條件是IP地址和MAC地址。

ARP協議(Address Resolution Protocol):是一種用以解析地址的協議,根據通訊方的IP地址就能夠反查出對應的MAC地址。

 

TCP協議位於傳輸層,提供可靠的字節流服務(Byte Stream Service)。

字節流服務:爲了傳輸方便,將大塊數據分割成以報文段(segment)爲單位的數據包進行管理。

TCP協議爲了更容易傳輸大數據把數據分割,並且可以確認數據最終是否送達到對方。

 

三次握手(爲了確保數據可以達到目標):

1.發送端發送帶有SNY標誌的數據包給對方。

2.接收端收到後會回傳一個帶有SNY/ACK標誌的數據包以示傳達確認信息。

3.發送端回傳一個帶ACK標誌的數據包,表明握手結束。

若在握手過程當中莫名中斷,TCP會再次以相同的順序發送相同的數據包。

DNS(Domain Name System)服務:位於應用層,提供域名和IP地址之間的解析服務

 

URI(Uniform Resource Identifier,統一資源標識符):由某個協議方案表示的資源的定位標識符。

URL(Uniform Resource Locator,統一資源定位符):使用Web瀏覽器等訪問Web頁面時須要輸入的網頁地址。

URI用字符串標識某一互聯網資源,而URL表示資源的地點。URL是URI的子集。

 

HTTP協議用於客戶端與服務器端之間的通訊。兩臺計算機之間使用HTTP協議通訊時,一條通訊線路上一定有一端是客戶端,另外一端是服務器端。

就一條通訊線路來講,服務器端和客戶端的角色是肯定的,而用HTTP協議就可以明確區分哪一個是客戶端,哪一個是服務器端。

HTTP協議規定,請求從客戶端發出,最後服務器端響應 該請求並返回。換句話說,服務器端在沒有接收到請求以前不會發送響應。

HTTP是一種不保存狀態的協議,即無狀態(stateless)協議。優勢:能夠更快地處理大量事物,確保協議的可伸縮性。

HTTP使用URI定位互聯網上的資源。

 

告知服務器意圖的HTTP方法:

GET:獲取資源

POST:傳輸實體主體

PUT:傳輸文件(要求在請求報文的主體中包含文件內容,而後保存到URI指定的位置。HTTP/1.1的PUT不帶驗證機制,存在安全性問題,通常Web不用這個方法)

DELETE:刪除文件(一樣存在安全性問題)

HEAD:得到報文部首(與GET同樣,只是不返回報文主體部分。用於確認URI的有效性及資源更新的日期時間等。)

OPTIONS:查詢支持的方法

TRACE:追蹤路徑(發送請求時,在Max-Forwards首部字段填入數值。 每通過一個服務器端就將改數字-1,爲0時中止傳輸,最後接受到請求的服務器端發揮狀態碼200OK)

CONNECT:要求用隧道協議鏈接代理

 

持久鏈接(HTTP Persistent Connections)

問題:瀏覽器瀏覽一個包含多張圖片的HTML頁面時,每個圖片資源都要創建鏈接,獲取資源,斷開鏈接。這些無謂的TCP鏈接和斷開,增長了通訊量的開銷。

解決:HTTP/1.1和一部分HTTP/1.0想出了持久鏈接的方法:只要任意一端沒有明確提出斷開鏈接,則保持TCP鏈接狀態。

管線化(pipelining)

問題:瀏覽器瀏覽一個包含10張圖片的頁面,須要等第一張圖片加載完,才能加載第二張圖片。

解決:管線化技術出現後,能夠作到同事並行發送多個請求,而不須要一個接一個地等待響應了。

使用Cookie的狀態管理

問題:沒法根據以前的狀態進行本次請求的處理(不認人)。

解決:經過在請求和響應報文中寫入Cookie信息來控制客戶端的狀態。

相關文章
相關標籤/搜索