Http協議(圖解Http學習筆記一)(基本概念)

圖解http是一本挺好的協議入門書籍,主要講http協議,在這裏記錄一下學習總結

(因爲在看書的時候記得文字筆記,所以底下會有許多圖片,字醜別嫌棄)

 

 

TCP/IP協議是互聯網各類協議族的總稱

分爲應用層,傳輸層,網絡層,鏈路層

http協議爲其子集,是處於應用層

IP協議(網絡層)  Internet Protocol 網際協議

IP地址:節點分配的地址(可變換)

MAC地址:網卡所屬固定地址(不可變換)(Media Access Control Address)

ARP地址解析協議:兩臺電腦網絡通信時數據經過多臺中轉電腦,用ARP解析,根據IP解析出MAC地址

(這個傳輸中轉過程稱爲路由選擇)

(Address Resolution Protocol)

TCP協議(傳輸層) Transmission Control Protocol 傳輸控制協議

字節流服務:將大塊數據分割爲報文段爲單位的數據包進行管理

三次握手確認傳輸成功:

1.先發送SYN標誌的數據包給對方

2.對方發送SYN/ACK標誌表示傳達確認

3.再發送SYN標誌表示傳輸結束

SYN:synchronize      ACK:acknowledgement

DNS服務(應用層) Domain Name System

域名到IP地址的解析服務

計算機可以被賦予IP地址,也可以被賦予主機名和域名

 

URI統一資源標識符

U:uniform:規定統一格式  R:resource:可標識的任何資源   I:identifier:標識符

登錄信息:指定用戶名和密碼

服務器地址:域名或IPv4地址

端口號:省略則爲默認端口號

查詢字符串:非必須

片段標識符:非必須

URL統一資源定位符

 

HTTP協議:超文本傳輸協議  HyperText Transfer Protocol

HTTP協議能明確區分客戶端和服務端

請求報文的構成:請求行,請求首部字段,內容實體

響應報文的構成:狀態行,響應首部字段,主體

 

http協議是無狀態協議:對於發送過的請求或響應不做持久化(Cookie技術可以用於持久化)\

 

http請求方法類型:

get,post,put,head,delete,options,trace,connect

get:獲取資源 post:傳輸實體主體 put:傳輸文件 head:獲得報文首部 delete:刪除文件 options:詢問支持的方法

trace:追蹤路徑△  connect:用隧道協議連接代理                              通常用get和post

 

網絡隧道傳輸:使用SSL和TLS加密後傳輸

SSL:Secure Sockets Layer  安全套接層

TLS:Transport Layer Security   傳輸安全層

 

報文首部的概念:請求行/狀態行 +首部字段=報文首部

報文:HTTP通信的基本單位,8位字節流組成

實體:作爲請求/響應的有效載荷數據被傳輸,內容由實體首部和實體主體構成

通常情況下:     報文等價於實體(只是稱呼不同)         如果傳輸過程中進行編程則產生差異

 

壓縮傳輸的內容編碼(類似於文件壓縮的概念):

一種應用在實體內容上的編碼格式,並且保持實體信息原樣壓縮,由客戶端接收之後解碼使用

常見類型:gzip,compress,deflate,identity

 

△分割發送的分塊傳輸編碼:把實體主體分塊傳輸的一種編碼

 

獲取部分內容的範圍請求:

可以使用首部字段Range指定獲取部分資源

Range: bytes =0-3000,5000-7000

獲取0-3000字節和5000-7000字節的數據

 

△內容協商返回最合適內容:根據首部字段返回最合適資源(中英版本,編碼版本....)

 

狀態碼:告知返回的請求結果:

狀態碼的類別

最具代表性的14種:

最常見的就是200 OK和404 Not Found

 

持久連接和管線化:

舊版http協議每次http通信就斷開一次連接,因而推出這兩個技術(http1.1默認持久連接)

持久連接:建立一次TCP連接後,沒有明確表示斷開則保持TCP連接狀態

管線化:建立持久連接後,不等第一個請求收到響應就發送下一個請求

 

Cookie技術:在請求/響應報文內寫入Cookie信息

第一次響應時服務器端加入Cookie信息<set-Cookie:....>

第二次請求時,客戶端就在請求報文中加入Cookie信息  Cookie:....

 

P.s.制定HTTP協議技術標準的文檔稱爲RFC:request for comments 徵求修正意見書

 

虛擬主機:實現單服務器搭建多個Web站點,對應多個域名

http訪問虛擬主機由於IP地址相同,所以必須在Host首部完整指定主機名或者域名

 

代理服務器:客戶端和服務端的"中間人"角色

每次經過代理服務器,會追加寫入Via首部信息

用途:1.利用緩存技術減少網絡帶寬的流量  2.對於特定網站的訪問控制   3.獲取訪問日誌

分類方式:1.是否使用緩存   2.是否修改報文

透明代理:經過代理時不對報文做任何加工

緩存代理:在響應時存一份副本在代理服務器上,下次再請求相同內容時將緩存資源返回給客戶端

緩存服務器:代理服務器的一種,減少源服務器的資源請求.緩存副本存在有效期.緩存還可以存在於本來瀏覽器中.

 

網關:類似於代理,可以與非HTTP服務器通信(例:數據庫,信用卡結算系統聯動)

本書具體沒講網關,所以我也不知道啥是網關

 

除了HTTP的另外應用層協議:

FTP:文件傳輸協議 File Transfer Protocol     一種用於文件訪問的協議,最常見在企業內網服務器之間,學校內網服務器之間的協議

(FTP無法是網頁形式的,所以互聯網基本都用HTTP)

 

NNTP協議:涼了  WAIS協議:涼了  Archie協議:涼了  Gopher:涼了

 

___________________________分割線___________________________

 

Http協議(圖解Http學習筆記一)(基本概念)

Http協議(圖解Http學習筆記二)(首部字段)

Http協議(圖解Http學習筆記三)(Http安全)

 

 

 

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