TCP/IP模型层次结构
生活随笔
收集整理的這篇文章主要介紹了
TCP/IP模型层次结构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
計算機網絡體系結構
(1)OSI七層協議:從上到下:應用層、表示層、會話層、傳輸層、網絡層、數據鏈路層、物理層。 (2)TCP/IP四層協議:從上到下:應用層,傳輸層、網絡層、數據鏈路層、網絡接口層。 (3)五層協議:從上到下:應用層、傳輸層、網絡層、數據鏈路層、物理層。五層協議
1、物理層 (1)物理層設備:中繼器、集線器。 2、數據鏈路層 1、三個基本問題 (1)封裝成幀:在一段數據的前后分別添加首部和尾部,構成一個幀。 每一個鏈路層協議都規定了所能傳送的幀的數據部分的長度上限----最大傳送單元(MTU)。 (2)透明傳輸 (3)差錯檢測? ?? 1、封裝成幀
??? 2、點到點協議(PPP) ppp的幀格式
??? 3、以太網的MAC幀格式
??? 4、ARP數據報格式
網絡層
??? 1、IP數據報格式??? 2、ip地址分為5類
傳輸層
??? 1、傳輸控制協議(TCP) ?????????? TCP數據報格式 ?????????? ??? 2、用戶數據報協議(UDP)???????????? UDP數據報格式
應用層
?????????? 超文本傳輸協議(HTTP) ?????????1、請求行
請求行由請求方法字段、URL字段和HTTP協議版本字段3個字段組成,它們用空格分隔。例如,GET /index.html HTTP/1.1。
HTTP協議的請求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。這里介紹最常用的GET方法和POST方法。
GET:當客戶端要從服務器中讀取文檔時,使用GET方法。GET方法要求服務器將URL定位的資源放在響應報文的數據部分,回送給客戶端。使用GET方法時,請求參數和對應的值附加在URL后面,利用一個問號(“?”)代表URL的結尾與請求參數的開始,傳遞參數長度受限制。 例如,/index.jsp?id=100&op=bind。
POST:當客戶端給服務器提供信息較多時可以使用POST方法。POST方法將請求參數封裝在HTTP請求數據中,以名稱/值的形式出現,可以傳輸大量數據,可用來傳送文件。
2、請求頭部
請求頭部由關鍵字/值對組成,每行一對,關鍵字和值用英文冒號“:”分隔。請求頭部通知服務器有關于客戶端請求的信息,典型的請求頭有:
User-Agent:產生請求的瀏覽器類型。
Accept:客戶端可識別的內容類型列表。
Host:請求的主機名,允許多個域名同處一個IP地址,即虛擬主機。
3、空行
最后一個請求頭之后是一個空行,發送回車符和換行符,通知服務器以下不再有請求頭。
對于一個完整的http請求來說空行是必須的,否則服務器會認為本次請求的數據尚未完全發送到服務器,處于等待狀態。
4、請求數據
請求數據不在GET方法中使用,而是在POST方法中使用。POST方法適用于需要客戶填寫表單的場合。與請求數據相關的最常使用的請求頭是 Content-Type和Content-Length。 GET與POST區別 HTTP定義了與服務器交互的不同方法,最基本的方法是 GET 和 POST.
(1)get是從服務器上獲取數據,post是向服務器傳送數據;
(2) 在客戶端,Get方式在通過URL提交數據,數據在URL中可以看到;POST方式,數據放置在HTML HEADER內提交;
(3) 對于get方式,服務器端用Request.QueryString獲取變量的值;對于post方式,服務器端用Request.Form獲取提交的數據;
(4) GET方式提交的數據最多只能有1024字節,而POST則沒有此限制;
(5) 安全性問題。正如在(1)中提到,使用 Get 的時候,參數會顯示在地址欄上,而 Post 不會; 所以,若這些數據是中文數據而且是非敏感數據,則使用 get;若用戶輸入的數據不是中文字符而且包含敏感數據,則使用 post比較好;
總結
轉載于:https://www.cnblogs.com/lyugeyi1030/p/8196155.html
總結
以上是生活随笔為你收集整理的TCP/IP模型层次结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Javascript的作用域,作用域链,
- 下一篇: Python学习-基础篇3-函数篇(2)