Web 和 Http
1. HTTP概況
- Web的應用層協議是 超文本傳輸協議(HTTP)
- web瀏覽器——HTTP的客戶端, Web服務器——http的服務器端
- 運輸層協議:TCP,需要進行握手來連接
- http是無狀態協議:不保存關于客戶的任何信息
- 默認端口號: 80
2. 非持續連接 和 持續連接
- 非持續連接:每個請求或響應都經自己單獨的TCP連接發送
- 持續連接:請求或響應經同一個TCP連接發送
- 往返時間(RTT):一個分組從客戶到服務器,再返回給客戶所花費的時間。包括:傳播時延、排隊時延、處理時延
- 建立TCP連接時花費一個RTT
3. HTTP報文格式
http請求報文
- 使用ASCII文本書寫
- 第一行為請求行:GET /xxx/page.html HTTP/1.1
- 其余行為首部行
- 請求行的三個字段: 方法字段、URL字段、HTTP版本字段
- 方法字段包括:GET、POST、HEAD、PUT、DELETE
- Host: www.baidu.com 指明對象所在的主機
- Connection: close:不使用持續連接
- User-agent:發送請求的瀏覽器類型
- keep-Alive: 持續連接的時間
http響應報文
- 第一行為狀態行:HTTP/1.1 200 OK
- 狀態行-首部行-實體體
- Connection: close : 發送完報文后關閉該TCP連接
- Date: 發送該響應報文的時間,不是文件最后一次修改的時間
- Server: 表示Web服務器種類
- Last-Modified: 對象創建或最后修改的日期和時間
- Content-length: 被發送對象的字節數
- Content-type: text/html 表明實體體中的對象是HTML
HTTP響應狀態碼
- 200:請求成功
- 301:請求的對象被永久轉移了
- 400:表明該請求不能被服務器理解
- 404:被請求的文檔不在服務器上
- 505:服務器不支持請求報文使用的HTTP協議版本
4. 用戶和服務器的交互:cookie
- cookie:允許站點對用戶進行跟蹤
- cookie的四個組件:① 在HTTP響應報文中的一個cookie首部行 ② HTTP請求報文中的一個cookie首部行 ③ 在用戶端系統中保留一個cookie文件,由瀏覽器管理 ④ 位于web站點的一個后端數據庫
5. Web緩存(Web cache)(代理服務器)
- 有自己的磁盤存儲空間,并在存儲空間中保存最近請求過得對象副本
電子郵件
- 因特網電子郵件: 用戶代理(user agent)-郵件服務器(mail server)-簡單郵件傳輸協議(SMTP)
- 收郵件:POP3、IMAP、HTTP
DNS
- DNS(域名系統):主機名和 IP 地址轉換的目錄服務
- DNS運行在UDP上,使用53號端口
- 采用分布式數據庫:以層次方式組織,分布在全世界
- 根DNS服務器提供TLD(頂級域)DNS服務器 IP,TLD服務器 提供權威DNS服務器 IP