1、MIME 媒體類型 html
MIME Multipurpose Internet Mail Extension(多用途因特網郵件擴展),最初是爲了解決在不一樣的電子郵件系統之間存在的問題。HTTP使用MIME來描述並標記多媒體內容。web
在http客戶端和http服務器通信的時候,http服務器在返回數據的時候,會爲數據打上MIME類型。以下圖瀏覽器
MIME類型是一種文本標記:表示一種重要的對象類型和一個特定的子類型,中間由一條斜槓來分割。服務器
MIME類型示例:網絡
• HTML 格式的文本文檔由 text/html 類型來標記。
• 普通的 ASCII 文本文檔由 text/plain 類型來標記。
• JPEG 格式的圖片爲 image/jpeg 類型。
• GIF 格式的圖片爲 image/gif 類型。
• Apple 的 QuickTime 電影爲 video/quicktime 類型。
• 微軟的 PowerPoint 演示文件爲 application/vnd.ms-powerpoint 類型。
app
2、URI (Uniform Resource Identifier) 統一資源標識符ide
每個web資源都有一個名字,這樣就能夠在定位查找到須要的資源。URI類型又分爲URL和URNui
3、URL 統一資源定位符spa
URL是最多見的資源標識符,URL描述了某一臺特定服務器上某一個資源的特定位置。下圖說明了URL如何定位資源。orm
大部分的URL都是由如下三部分組成的:
• URL 的第一部分被稱爲方案( scheme), 說明了訪問資源所使用的協議類型。 這
部分一般就是 HTTP 協議( http://)。
• 第二部分給出了服務器的因特網地址( 好比, www.joes-hardware.com)。
• 其他部分指定了 Web 服務器上的某個資源( 好比, /specials/saw-blade.gif)。
4、URN 統一資源名
這是一種與位置無關的,使用惟一名稱來標識資源的URI。目前不多使用。
5、事務
事務是由請求命令和響應結果組成的,這種通訊是經過HTTP報文(HTTP MESSAGE)來進行的。以下圖:
6、報文
HTTP報文是由一行行簡單的字符串組成的。HTTP報文都是純文本的,所以人們能夠很方便的進行讀寫。
客戶端發送到服務器的HTTP報文稱爲請求報文。服務器響應給客戶端的HTTP報文稱爲響應報文。如下是簡單的HTTP報文圖示。
HTTP 報文包括如下三個部分。
• 起始行
報文的第一行就是起始行, 在請求報文中用來講明要作些什麼, 在響應報文中說
明出現了什麼狀況。
• 首部字段
起始行後面有零個或多個首部字段。 每一個首部字段都包含一個名字和一個值, 爲
了便於解析, 二者之間用冒號( :) 來分隔。 首部以一個空行結束。 添加一個首
部字段和添加新行同樣簡單。
• 主體
空行以後就是可選的報文主體了, 其中包含了全部類型的數據。 請求主體中包括
了要發送給 Web 服務器的數據; 響應主體中裝載了要返回給客戶端的數據。 起
始行和首部都是文本形式且都是結構化的, 而主體則不一樣, 主體中能夠包含任意
的二進制數據( 好比圖片、 視頻、 音軌、 軟件程序)。 固然, 主體中也能夠包含
文本
7、鏈接
瀏覽器和服務器經過報文進行通訊,那麼是誰充當了這個傳輸者呢?
經過傳輸控制協議( Transmission Control Protocol, TCP) 鏈接從一個地方搬移到另外一個地方去的。
1.可靠的TCP:
• 無差錯的數據傳輸;
• 按序傳輸( 數據老是會按照發送的順序到達) ;
• 未分段的數據流( 能夠在任意時刻以任意尺寸將數據發送出去)。
因特網自身就是基於 TCP/IP 的, TCP/IP 是全世界的計算機和網絡設備經常使用的層次
化分組交換網絡協議集。 TCP/IP 隱藏了各類網絡和硬件的特色及弱點, 使各類類型
的計算機和網絡都可以進行可靠地通訊。
只要創建了 TCP 鏈接, 客戶端和服務器之間的報文交換就不會丟失、 不會被破壞,
也不會在接收時出現錯序了。
2.HTTP一次完整的請求響應工做流程
步驟以下: (a) 瀏覽器從 URL 中解析出服務器的主機名; (b) 瀏覽器將服務器的主機名轉換成服務器的 IP 地址; (c) 瀏覽器將端口號( 若是有的話) 從 URL 中解析出來; (d) 瀏覽器創建一條與 Web 服務器的 TCP 鏈接; (e) 瀏覽器向服務器發送一條 HTTP 請求報文; (f) 服務器向瀏覽器回送一條 HTTP 響應報文; (g) 關閉鏈接, 瀏覽器顯示文檔。