應用層-DNS,HTTP,郵件協議小小總結

應用層DNS,HTTP,郵件協議

1.DNS協議

1.1域名系統(Domain Name System)

  • 進行主機名(字母和數字)到IP地址(點分十進制)的轉換
  • 一個由分層的DNS服務器實現的分佈式數據庫
  • 允許主機查詢分佈式數據庫的應用層協議
  • 運行於UDP協議之上,使用53號端口
  • 通常由其他的應用層協議(包括HTTP、SMTP和FTP)使用
  • 域名服務器自身也會進行一些緩存,把曾經訪問過的域名和對應的IP地址緩存起來,可以加速查找過程。

1.2DNS服務器的部分層次結構

在這裏插入圖片描述

1.3本地DNS服務器

  • 嚴格來說,不屬於DNS服務器的層次結構
  • 每個ISP(互聯網服務提供商)都有一臺本地DNS服務器(也叫默認DNS服務器)
  • 主機的本地DNS服務器通常“鄰近”本主機
  • 當主機發出DNS請求時,該請求被髮往本地DNS 服務器,它起着代理的作用,並將該請求轉發到DNS服務器層次結構中。

1.4DNS的兩種查詢方式

  • 通常情況下,主機向本地域名服務器的查詢一般都是採用遞歸查詢,本地域名服務器向根域名服務器的查詢通常採用迭代查詢。
  • 遞歸查詢就是一件事交給別人來做,如果事情沒有辦完,哪怕已經辦的差不多了,都不要將結果告訴給我;迭代查詢是交給別人一件事情,能做多上就告訴我做了多少,剩下的我來做完。

在這裏插入圖片描述
在這裏插入圖片描述

1.5資源記錄(RR)

  • 資源記錄是一個包含了下列字段的4元組:

    (Name,Value,Type,TTL)

  • TTL爲該記錄的生存時間,決定了資源記錄應當從緩存中刪除的時間。

  • Name和Value的值取決於Type:

    • Type=A,Name則是主機名,Value是該主機對應的IP地址。提供了標準的主機名到IP地址的映射。(relayl.bar.foo.com,145.37.93.126,A)
    • Type=NS,Name是一個域(如foo.com),Value是個知道如何獲得該域中主機IP地址的權威DNS服務器主機名。該記錄用於沿着查詢鏈來路由DNS查詢。 (foo.com,dns.foo.com,NS)
    • Type=CNAME,Value是別名爲Name的主機對應的規範主機名。向查詢的主機提供一個主機名對應的規範主機名。(foo.com,relayl.bar.foo.com,CNAME)
    • Type=MX,Value是別名爲Name的郵件服務器的規範主機名。(foo.com,mail.bar.foo.com,MX)MX記錄允許郵件服務器主機名具有簡單的別名。
    • 注意:通過使用MX記錄,一個公司的郵件服務器和其他服務器(如Web服務器)可以使用相同的別名

1.6DNS報文

  • 包含查詢報文和回答報文,且格式相同

在這裏插入圖片描述

  • 標識符:用於標識該查詢
  • 標誌:若干標誌位。含1bit的“查詢/回答”標誌位。0:查詢。1:回答

2.HTTP協議

2.1概況

  • Web頁(文檔):由若干對象組成
  • 對象:是文件,通過URL地址來尋址。如HTML文件、JPEG圖形文件、JAVA小程序等。每個對象由URL來尋址。
  • URL(Uniform Resource Loactor):統一資源定位符。服務器主機名和對象的路徑名。
  • HTTP是無狀態協議,服務器不保存關於客戶機的任何信息。

2.2請求報文

  • 請求行:請求方法+URL+HTTP版本

  • 在這裏插入圖片描述

  • 請求方法:

    • get請求:
      • 將請求參數追加在url後面,不安全
      • url長度限制get請求方式數據的大小
      • 沒有請求體
      • 一般的HTTP請求大多都是GET。
    • post請求:
      • 請求參數在請求體處,較安全。
      • 請求數據大小沒有顯示
      • 只有表單設置爲method=“post”纔是post請求,其他都是get請求
      • 常見get請求:地址欄直接訪問、<a href= >、<img src= >等
    • put請求:
      • 把一個資源存放在指定的位置上。
      • 與post的區別:PUT通常指定了資源的存放位置,而POST則沒有,POST的數據存放位置由服務器自己決定
    • delete請求:
      • 請求服務器刪除Request-URL所標識的資源。

2.3響應報文

  • 響應行:HTTP版本+狀態碼+狀態短語

  • 在這裏插入圖片描述

  • HTTP狀態碼:

    • 1xx:指示信息,表示請求已接收,繼續處理
    • 200:成功,OK。
    • 301:永久重定向,表示請求的資源已經永久的搬到了其他位置。3xx表示重定向。
    • 404:在服務器沒找到請求的文檔。4xx表示客戶端錯誤。
    • 505:服務器不支持請求報文使用的HTTP版本。5xx表示服務器端錯誤。

2.4HTTP1.1和HTTPS

  • HTTP/1.0:發送請求,創建一次連接,獲得一個web資源,連接斷開

    HTTP/1.1:發送請求,創建一次連接,獲得多個web資源,連接斷開

    主要區別:可擴展、緩存、寬帶優化、長連接、消息傳遞、Host頭域、錯誤提示、內容協商

  • HTTP2新特性:

    • 新的二進制格式:採用二進制格式而非文本格式
    • 降低延遲
    • 多路複用:完全多路複用的,而非有序並阻塞的——只需一個連接即可實現並行
    • header壓縮:降低開銷
    • 服務端推送:讓服務器將相應主動“推送”到客戶端緩存中
  • 區別 HTTP HTTPS
    協議 運行在 TCP 之上,明文傳輸,客戶端與服務器端都無法驗證對方的身份 身披 SSL( Secure Socket Layer )外殼的 HTTP,運行於 SSL 上,SSL 運行於 TCP 之上, 是添加了加密和認證機制的 HTTP
    端口 80 433
    資源消耗 較少 由於加解密處理,會消耗更多的 CPU 和內存資源
    開銷 無需證書 需要證書,而證書一般需要向認證機構購買
    加密機制 共享密鑰加密和公開密鑰加密並用的混合加密機制
    安全性 由於加密機制,安全性強

3.SMTP、POP3、IMAP

  • SMTP負責“發”,運行於郵件服務器之間,用戶代理髮送郵件的時候使用;POP3/IMAP負責“收”,用戶代理從郵件服務器收取郵件。
  • POP3工作步驟:
    • 特許階段:用戶代理髮送用戶名和口令獲得下載郵件的特許(身份認證)
    • 事務處理階段:用戶代理取回報文,進行操作。
    • 更新階段:郵件服務器刪除帶有刪除標記的報文,POP回話結束。
  • POP3的缺點:讀取郵件後,服務器不再保存
  • IMAP:功能強,相當於在線編輯。
  • 在這裏插入圖片描述

------本篇完------

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