計算機網絡-應用層
計算機網絡頂層-應用層常見協議
DNS
DNS提供了主機名和IP地址之間相互轉換的服務,DNS協議一般運行在UDP協議上,使用53號端口(長度超過512字節采用TCP)
郵件訪問協議
SMTP、POP3、IMAP3種
FTP
FTP采用了兩個並行的TCP連接來傳輸文件,一個是控制連接(端口21),一個是數據連接(端口20),在一個會話中,控制連接一直存在,如果傳輸多個文件,會有多個數據連接,控制連接控制這些數據連接的打開和關閉
ARP
地址解析協議,根據IP地址獲取物理地址
DHCP
動態主機配置協議,配置 IP 地址,包括子網掩碼、網關 IP 地址。
HTTP
超文本傳輸協議,web的核心,HTTP由兩個程序實現:一個客戶程序和一個服務器程序。
請求報文:請求行(方法字段、URL字段、HTTP版本字段),首部行,實體體
響應報文:狀態行(版本、狀態碼),首部行,實體體
可能的請求
GET:用於請求訪問已經被URI(統一資源標識符)識別的資源,可以通過URL傳參給服務器
POST:用於傳輸信息給服務器,主要功能與GET方法類似,但一般推薦使用POST方式
PUT:傳輸文件,報文主體中包含文件內容,保存到對應URI位置
HEAD:獲得報文首部,與GET方法類似,只是不返回報文主體,一般用於驗證URI是否有效
DELETE:刪除文件,與PUT方法相反,刪除對應URI位置的文件
OPTIONS:查詢響應URI支持的HTTP方法
可能的狀態碼
1** 服務器收到請求,需要客戶端繼續執行操作
2** 成功,操作被成功接受並處理(200 ok)
3** 重定向(301 資源已經移動到其他地方,遊覽器會自動跳轉到新地址)
4** 客戶端錯誤(400請求方式錯誤)
5** 服務器錯誤(500服務器內部錯誤)
一個完整的HTTP連接過程
在域名解析之前往往包括
DHCP配置主機信息
ARP解析MAC地址->
三次握手
SYN:同步字段
seq:發送多少成功接受字段
ACK:確認字段
ack:確認接受數據
計算機網絡-應用層