1、http協議
由兩部分程式實現:乙個客戶機程式和乙個伺服器程式,它們執行在不同的端系統中,通過交換http訊息進行會話。http定義了瀏覽器和web伺服器之間的訊息格式以及客戶機和伺服器是如何進行訊息交換的。
2、http使用tcp而不是udp作為它的傳輸層協議。
瀏覽器發起乙個與伺服器的tcp連線,一旦連線建立,瀏覽器和伺服器程序就可以通過套接字介面(就是傳送/接收函式呼叫)訪問tcp。
3、http是無狀態的。
伺服器向客戶機傳送被請求的檔案時,並不儲存任何關於該客戶機的狀態資訊。假如乙個特定的使用者在幾秒鐘內多次請求同乙個物件,伺服器並不會因為剛剛為該使用者提供了該物件就不再做出反應,而是重新傳送該物件。但伺服器一般會在日誌檔案中記錄使用者的訪問歷史。
4、持久連線和非持久連線
5、 http訊息格式
http訊息有兩種:請求訊息和響應訊息。
entity bodyhttp 請求訊息的第一行叫做請求行(request line),其後繼的行叫做頭部行(header line )。
請求行有3個字段:方法字段、url欄位和http協議版本字段。
方法字段可以取值get、post、head、put和delete。
(data …)狀態行有3個字段:協議版本、狀態碼和相應狀態資訊。
首部行中date:首部行指示伺服器產生並傳送該響應訊息的日期和時間。
last-modified:首部行指示了物件建立或者最後修改的日期和時間。它對可能在客戶
機也可能在網路快取伺服器上的物件快取來說非常重要。
實體部分包含了所請求的物件。
6、常見的狀態碼
狀態碼 說明
200 響應成功
302 跳轉,跳轉位址通過響應頭中的location屬性指定
400 客戶端請求有語法錯誤,不能被伺服器識別
403 伺服器接收到請求,但是拒絕提供服務(例如認證失敗)
404 請求資源不存在
500 伺服器內部錯誤
7、使用者與伺服器的互動:cookie
http使用cookie技術使web站點能夠跟蹤使用者。
cookie技術有4個組成部分:
①在http響應訊息中有乙個set-cookie首部行;
②在http請求訊息中有乙個cookie 首部行;
③在使用者端系統中保留有乙個cookie檔案,由使用者的瀏覽器管理;
④在web站點有乙個後端資料庫。
cookie常用於購物車、使用者登入認證等。cookie的訪問控制是使用者隱私訪問控制的重要組成部分,很多瀏覽器(ie等)都可以進行cookie訪問許可權的設定。
8、 web快取
web快取(web cache)也叫**伺服器(proxy server),可以配置使用者的瀏覽器,使得
使用者的所有http請求首先指向web快取。如果設定瀏覽器每次訪問乙個web**時都通過快取伺服器。瀏覽器會首先建立乙個到web快取伺服器的tcp連線,並向web快取伺服器傳送乙個http請求。web快取伺服器檢查本地是否儲存了該物件拷貝。如果有,web快取伺服器就用http響應訊息向客戶機瀏覽器返回該物件。
如果web快取伺服器沒有該物件,它就與該物件的原始伺服器建立tcp連線,請求該
物件。當web快取伺服器接收該物件時,它在本地儲存乙份拷貝,並用http響應訊息向客戶機的瀏覽器傳送該拷貝。
在網際網路上部署web快取伺服器有兩個原因。首先,可以加快對客戶機請求的響應時間。其次,web快取可以大大減少乙個單位內部網與網際網路接入鏈路上的通訊量。
條件get方法
http協議有一種機制,conditional get方法允許快取伺服器保證它的物件是最新的。
如果①請求訊息使用get方法。②請求訊息中包含乙個if-modified-since:首部行,那麼這個http請求訊息就是乙個條件get請求訊息。
使用該條件get訊息告訴伺服器,如果當自指定日期之後修改過該物件那麼重新傳送該物件,反之不需要傳送。
etag
etag是伺服器物件的唯一識別符號, 瀏覽器也可以根據etag值快取資料。 客戶機再次請求伺服器時,通過if-none-match:字段告知伺服器客戶端快取資料的etag值。
伺服器收到請求後發現頭部的if-none-match,與被請求物件的唯一標識進行比對。如果兩個值不相同,說明物件已被改動,則響應此物件,反之告知瀏覽器可以使用其快取。
HTTP協議應用
設定頁面不快取 response.setheader pragma no cache response.setheader cache control no cache response.setdateheader expires 0 上傳檔案 上傳檔案會在http協議體中長傳到伺服器 列印requ...
Http協議應用
響應行轉態碼 對應的情況 100 199 伺服器成功接收客戶請求,不過需要讓客戶機繼續傳送請求完成整個請求過程 200 299 200 成功處理 300 399 302 找別人,在響應頭中需要有location屬性 304 307 找快取,即快取中存在頁面 400 499 403 存在頁面,但是使用...
Web前端 HTTP協議
目錄2 post請求 三 http響應報文 http hypertext transport protocol 即超文字傳輸協議。這個協議詳細規定了瀏覽器和全球資訊網伺服器之間互相通訊的規則。http就是乙個通訊規則,通訊規則規定了客戶端傳送給伺服器的內容格式,也規定了伺服器傳送給客戶端的內容格式。...