HTTP概述
一、媒體類型
1、HTTP(HyperText Transfer Protocol)會(huì)為每種通過WEB傳輸?shù)膶?duì)象打上MIME類型(Multipurpose Internet Mail Extension,多用途因特網(wǎng)郵件擴(kuò)展)
- MIME類型是一種文本標(biāo)記,表示一種主要對(duì)象類型和一個(gè)特定的子類型
- 常見類型如:
- HTML為
text/html
- 普通ASCII為
text/plain
- JPEG圖片為
image/jpeg
- GIF為
image/gif
- Apple 的QuickTime為
video/quicktime
- PowerPoint為
application/vnd.ms-powerpoint
類型
- HTML為
2、URI,服務(wù)器資源名被稱為統(tǒng)一資源標(biāo)識(shí)符(Uniform Resource Identifier,URI)
3、URL,統(tǒng)一資源定位符,幾乎所有URI都是URL
4、URN,統(tǒng)一資源符
二、連接
1、TCP/IP
HTTP是應(yīng)用層協(xié)議,聯(lián)網(wǎng)細(xì)節(jié)有通用、可靠的因特網(wǎng)傳輸協(xié)議TCP/IP
(Transmission Control Protocol)控制
應(yīng)用層 HTTP
傳輸層 TCP
網(wǎng)絡(luò)層 IP
數(shù)據(jù)鏈路層 網(wǎng)絡(luò)特有的鏈路接口
物理層 物理網(wǎng)絡(luò)硬件
2、使用Telnet實(shí)例
// 命令行
$ telnet www.baidu.com 80
// 輸出結(jié)果
Trying 61.135.169.121
Connected to www.a.shifen.com.
Escape character is '^]'.
// 交互性輸入
GET / HTTP/1.1
Host: www.baidu.com
// 輸出
HTTP/1.1 200 OK
Date: Tue, 10 Jan 2017 13:06:12 GMT
Content-Type: text/html
...
<!DOCTYPE html><!--STATUS OK-->
...
</body></html>Connection closed by foreign host.
說明:
- Telnet會(huì)查找主機(jī)名并打開一條連接,連接到在
www.baidu.com
的端口為80上監(jiān)聽的Web服務(wù)器,之后三行為Telnet輸出,連接結(jié)果 - 然后輸入
GET / HTTP/1.1
發(fā)送一個(gè)提供了源端主機(jī)名的Host
首部,后面跟一空行 - Telnet可以很好的模擬HTTP客戶端。更靈活工具可以看看
nc
(netcat),方便的操縱UDC
和TCP
的流量。
三、協(xié)議版本
目前在使用的版本有HTTP/0.9
、HTTP/1.0
、HTTP/1.0+
、HTTP/1.1
(當(dāng)前版本),還有HTTP-NG
(又名HTTP/2.0
)
四、Web的結(jié)構(gòu)組件
代理、緩存、網(wǎng)關(guān)、隧道、Agent代理