全面解讀php-網絡協議

1、OSI七層模型

一、物理層

做用:創建,維護,斷開物理鏈接windows

二、數據鏈路層

做用:創建邏輯鏈接,進行硬件地址尋址,差錯校驗等功能。跨域

三、網絡層

做用:進行邏輯地址尋址,實現不一樣網絡之間的路徑選擇。瀏覽器

四、傳輸層

做用:定義傳輸數據的協議端口號,以及流控和差錯校驗。緩存

協議有:TCP、UDP,數據包一旦離開網卡即進入網絡傳輸層。安全

五、會話層

做用:創建、管理和終止會話。服務器

六、表示層

做用:數據的表示,安全和壓縮。cookie

七、應用層

做用:網絡服務與最終用戶的接口。網絡

協議有:HTTP、HTTPS、FTP、SMTP、DNS、TELNET、POP三、DHCP、SNMPapp

 2、HTTP協議的工做特色和工做原理

一、工做特色

  • 基於B/S模式 (Browser/Server,瀏覽器/服務器模式)。
  • 通訊開銷小,簡單快速,傳輸陳本低。
  • 使用靈活,可以使用超文本傳輸協議。
  • 節省傳輸時間。
  • 無狀態。

二、工做原理

3、HTTP常見請求/響應頭

Content-type: 請求的與實體對應的MIME信息。性能

Accept: 指定客戶端能接受的內容和類型。

Origin: 最初的請求來源於哪兒,主要用於POST請求。

Cookie: HTTP請求發起時,發送給服務端的cookie值。

Cache-Control: 指定請求或響應的緩存機制。

User-Agent: 用戶信息。

Referer:上級請求路徑,和Origin的不一樣之處在於Orgin只能用於POST,而Referer是全部的請求均可以。

X-Forwarded-For: 請求端的真實的IP,作代理的時候可能須要用它來獲取IP。

Access-Control/Allow-Origin: 容許特定的域名來進行訪問,跨域的時候須要用到。

Last-Modified: 請求資源的最後響應時間。

4、HTTP協議的請求方法

一、GET (查)

get請求會顯示請求所指定的資源,主要用於數據的讀取,是冪等的操做,而不該該用於非冪等的操做。

注:冪等:每次拿到的數據都是同樣的

二、POST (增)

向指定資源提交數據,由服務器進行處理,POST方法是非冪等的方法,POST請求可能會建立新的資源或者修改現有的資源,一般狀況下,RESTAPI規則中,建立用POST

 三、HEAD

和GET方法同樣,都是想服務器發送指定資源的請求,可是服務器在響應HEAD請求時不會回傳資源的內容部分,只會回傳頭信息

四、OPTIONS

與HEAD相似,通常用於客戶端查看服務器的性能,返回由該資源所支持的全部HTTP請求方法,該方法會用 ' * ' 來代替資源名稱,向服務器發送OPTIONS請求能夠測試服務器功能是否正常。

五、PUT (改)

PUT會向指定資源位置上傳最新的內容,是冪等的方法,經過該方法客戶端能夠將指定資源的最新數據傳送給服務器取代指定資源的內容,一般狀況下,RESTAPI規則中,修改用PUT. 

六、DELETE (刪)

DELETE用於請求服務器刪除所請求的URL所標識的資源,DELETE是冪等方法。

七、TRANCE

TRANCE用於請求服務器回顯所收到的請求信息,該方法主要用於HTTP請求的測試或診斷。

 GET和POST的區別

  • 一、GET在作後退或刷新的時候,沒什麼太大的區別,是無害的。POST數據會被從新提交。
  • 二、GET能夠收藏爲書籤,POST不能被收藏爲書籤。
  • 三、GET能夠被瀏覽器緩存,POST不能被瀏覽器緩存。
  • 四、GET請求的編碼類型爲 application/www-form-urlencoded,POST除此以外還有一種 multipart/form-data,對二進制數據使用多重編碼。
  • 五、GET的參數會保留在歷史記錄中,POST的參數不會存在於歷史記錄中。
  • 六、GET的數據長度有限制,最長爲2048個字符,而POST沒有限制。
  • 七、GET的數據類型值容許ASCII字符,POST沒有此限制,還容許二進制的數據。
  • 八、GET的安全性差,不能傳輸敏感信息,POST安全性高。

5、HTTPS的工做原理

HTTPS是一種基於SSL/TLS的http協議,全部的HTTP數據都是在SSL/TLS協議封裝之上傳輸的。

 HTTPS協議是在HTTP協議的基礎上,添加了SSL/TLS握手以及數據加密傳輸,也屬於應用層協議。

6、常見的網絡協議及端口

一、FTP : 文件傳輸協議,用於傳輸文件,默認端口爲 21

二、Telnet:用於遠程登陸的端口,用戶能夠以本身的身份遠程鏈接到計算機上,基於這種端口能夠提供一種基於DOS下的通訊服務,一般狀況下,默認端口爲 23

三、SMTP:定義了簡單郵件傳輸協議,如今不少郵件服務器都用這個協議發送郵件,默認端口爲 25

四、POP3:與 SMTP 協議對應,用於接收郵件,默認端口爲 110

五、HTTP超文本傳輸協議 ,默認端口爲 80   

六、DNS:用於域名解析服務,這種服務在 windows-NT 系統中用的不少,默認端口爲 53

相關文章
相關標籤/搜索