1.HTTP——因特網的多媒體信使
HTTP使用的是可靠的數據傳輸協議,能確保數據在傳輸過程中不會損壞或混亂。
2.Web客戶端和服務器
Web服務器(HTTP服務器)根據客戶端的請求返回服務端的數據。(動態/靜態資源,有着不同的格式)
2.1媒體類型
HTTP給Web傳輸的對象使用MIME類型區分數據格式。
MIME類型是一種文本標記。
格式:主要的對象類型/特定的子類型
- HTML:text/html
- 普通的ASCII文本:text/plain
- JPEG圖片:image/jpeg
- gif:image/gif
2.2URI
服務器資源名:統一資源標識符(Uniform Resource Identifier,URI)---->網上的郵政地址,在世界范圍內唯一標識並定位信息資源
URI有兩種形式:URL和URN
2.3URL
統一資源定位符(URL)--->描述一台特定服務器上某資源的特定位置。說明如何從一個精確、固定的位置獲取資源。
URL的格式:方案+地址+資源
方案:scheme,URL的第一部分,圖中的HTTPS協議
地址:服務器的因特網地址
資源:Web服務器上的某個資源
3.事務
HTTP事務=請求命令+響應結果(通過HTTP報文的格式化數據塊進行的)
3.1方法
HTTP方法:不同的請求命令,告訴服務器要執行的動作。
GET,PUT,DELETE,POST,HEAD
3.2狀態碼
HTTP報文返回攜帶一個狀態碼,三位數字的代碼。
除了三位數字狀態碼,還會發送一條解釋性的原因短語文本。
4.報文
由字符串組成,是純文本
HTTP報文分為三部分:起始行+首部字段+主體
5.連接
5.1TCP/IP
TCP提供:
- 無差錯的數據傳輸
- 按序傳輸
- 未分段的數據流
5.2連接,IP地址及端口號
HTTP客戶端向服務器發送報文之前,需用IP地址和端口號在客戶端和服務器之間建立一條TCP/IP連接
(類似於給公司辦公室某個人打電話---------先撥公司號碼(IP地址),再撥分機號(端口號))
使用Telnet
Telnet可將鍵盤連接到某個目標TCP端口。並將TCP端口的輸出返回到顯示屏上。用於遠程終端會話
6.協議版本
HTTP協議有幾個版本
HTTP/0.9 HTTP/1.0 HTTP/1.1 HTTP/2.0
7.Web的結構組件
- 代理 客戶端和服務器之間的HTTP中間實體
- 緩存 HTTP的倉庫,保存常用頁面的副本到離客戶端近的地方
- 網關 連接其他應用程序的特殊Web服務器
- 隧道 對HTTP通信報文進行盲轉發的特殊代理
- Agent代理 發起自動HTTP請求的半智能Web客戶端
7.1代理
接收並轉發客戶端的HTTP請求到服務器(可能會修改后轉發)
應用程序就是一個代理,代表用戶訪問服務器
7.2緩存
Web緩存(Web cache)/代理緩存(proxy cache)----->一種特殊的HTTP代理服務器
7.3網關
網關(gateway):特殊的服務器,作為其他服務器的中間實體使用。
用於HTTP流量轉換其他的協議。
7.4隧道
隧道(tunnel):兩條連接之間對原始數據進行盲轉發的HTTP應用程序
HTTP隧道的常見用途:HTTPS連接(HTTP連接承載加密的SSL流量)
7.5Agent代理
代表用戶發起HTTP連接的客戶端程序
爬蟲就是一種自動用戶Agent代理