◆ 請求/請求報文:
請求由客戶端發出,主要有三個組成部分:
請求行
請求頭請求主體
1、請求行:
請求方法:get
請求url
http協議版本
2、請求頭
這裡設定的主要是一些資訊,包含客戶端,伺服器
user-agent:瀏覽器的具體型別 如:user-agent:mozilla/5.0 (windows nt 6.1; rv:17.0) gecko/20100101 firefox/17.0
accept-charset:瀏覽器採用的是哪種編碼 如:accept-charset: iso-8859-1
accept-encoding:瀏覽器支援解碼的資料壓縮格式 如:accept-encoding: gzip, deflate
accept-language:瀏覽器的語言環境 如:accept-language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
content-length:表示請求訊息正文的長度。對於post請求來說content-length必須出現。
content-type:web伺服器告訴瀏覽器自己響應的物件的型別和字符集。例如:content-type: text/html; charset='gb2312'
content-encoding:web伺服器表明自己使用了什麼壓縮方法(gzip,deflate)壓縮響應中的物件。例如:content-encoding:gzip
content-language:web伺服器告訴瀏覽器自己響應的物件的語言。
cookie:最常用的請求頭,瀏覽器每次都會將cookie傳送到伺服器上,允許伺服器在客戶端儲存少量資料。
referer:包含乙個url,使用者從該url代表的頁面出發訪問當前請求的頁面。伺服器能知道你是從哪個頁面過來的。referer:
3、請求體
◆ 響應/響應報文
響應報文是伺服器發回給客戶端的,主要有三個組成部分
狀態行
響應頭響應主體
常見相應屬性:
cache-control
響應輸出到客戶端後,服務端通過該報文頭屬告訴客戶端如何控制響應內容的快取。
下面,的設定讓客戶端對響應內容快取3600秒,也即在3600秒內,如果客戶再次訪問該資源,直接從客戶端的快取中返回內容給客戶,不要再從服務端獲取(當然,這個功能是靠客戶端實現的,服務端只是通過這個屬性提示客戶端「應該這麼做」,做不做,還是決定於客戶端,如果是自己宣稱支援http的客戶端,則就應該這樣實現)。
cache-control: max-age=3600
etag
乙個代表響應服務端資源(如頁面)版本的報文頭屬性,如果某個服務端資源發生變化了,這個etag就會相應發生變化。它是cache-control的有益補充,可以讓客戶端「更智慧型」地處理什麼時候要從服務端取資源,什麼時候可以直接從快取中返回響應。
etag: "737060cd8c284d8af7ad3082f209582d"
location
我們在asp.net中讓頁面redirect到乙個某個a頁面中,其實是讓客戶端再發乙個請求到a頁面,這個需要redirect到的a頁面的url,其實就是通過響應報文頭的location屬性告知客戶端的,如下的報文頭屬性,將使客戶端redirect到iteye的首頁中:
location:
set-cookie
服務端可以設定客戶端的cookie,其原理就是通過這個響應報文頭屬性實現的。
set-cookie: userid=johndoe; max-age=3600; version=1
http響應體:如果請求的是html頁面,那麼返回的就是html**。如果是js就是js**。
http響應頭:而設定cookie,快取等資訊就是在響應頭屬性設定的。
http響應行:主要是設定響應狀態等資訊。
常見的響應狀態:
web前端之資料繫結
object.defineproperties 可以同時繫結多個 object.defineproperty 繫結obj下的乙個變數 資料 資料描述符 屬性 資料屬性有4個描述內部屬性的特性 configurable 表示能否通過delete刪除此屬性,能否修改屬性的特性,或能否修改把屬性修改為訪問...
HTTP協議之報文詳解
學習web開發需要對http協議熟悉,下面直接進入主題。一 什麼是報文 報文,是網路中交換和傳輸的資料單元,即站點一次性要傳送的資料塊。報文包含了將要傳送的完整的資料資訊,其長短很不一致,長度不限且可變。http報文是由一行一行簡單的字串組成的。http報文都是純文字,不是二進位制 所以人們可以很方...
HTTP協議之報文詳解
學習web開發需要對http協議熟悉,下面直接進入主題。一 什麼是報文 報文,是網路中交換和傳輸的資料單元,即站點一次性要傳送的資料塊。報文包含了將要傳送的完整的資料資訊,其長短很不一致,長度不限且可變。http報文是由一行一行簡單的字串組成的。http報文都是純文字,不是二進位制 所以人們可以很方...