1. 程式人生 > >HTTP的會話有四個過程,請選出不是的一個()----百度2016研發工程師筆試題(六)

HTTP的會話有四個過程,請選出不是的一個()----百度2016研發工程師筆試題(六)

HTTP的會話有四個過程,請選出不是的一個()

正確答案: D   你的答案: D (正確)

建立連線
發出響應資訊
發出請求資訊
傳輸資料

HTTP會話的四個過程
1. 建立tcp連線
2. 發出請求文件
3. 發出響應文件
4. 釋放tcp連線

HTTP協議

客戶端連上web 伺服器後,若想獲得 web 伺服器中的某個 web 資源,需遵守一定的通訊格式, HTTP 協議用於定義客戶端與 web 伺服器通迅的格式。

WEB瀏覽器與 WEB 伺服器之間的一問一答的互動過程必須遵循一定的規則,這個規則就是 HTTP 協議。

HTTP是 hypertext transfer protocol (超文字傳輸協議)的簡寫,它是 TCP/IP 協議集中的一個應用層協議,用於定義 WEB 瀏覽器與WEB 伺服器之間交換資料的過程以及資料本身的格式。 

HTTP協議的版本 

HTTP/1.0、 HTTP/1.1

HTTP協議是學習 JavaWEB 開發的基石,不深入瞭解 HTTP 協議,就不能說掌握了 WEB 開發,更無法管理和維護一些複雜的 WEB 站點。深入理解 HTTP 協議,對管理和維護複雜的 WEB 站點、開發具有特殊用途的 WEB 伺服器程式具有直接影響。

HTTP 1.0的會話方式

瀏覽器與WEB 伺服器的連線過程是短暫的,每次連線只處理一個請求和響應。對每一個頁面的訪問,瀏覽器與 WEB 伺服器都要建立一次單獨的連線。 瀏覽器到 WEB 伺服器之間的所有通訊都是完全獨立分開的請求和響應對。

四個步驟:

支援代理:

HTTP 1.1的特點 

在一個TCP 連線上可以傳送多個 HTTP 請求和響應  

多個請求和響應過程可以重疊進行

增加了更多的請求頭和響應頭 

HTTP1.0和 HTTP1.1 的區別

在HTTP1.0 協議中,客戶端與 web 伺服器建立連線後,只能獲得一個 web 資源。

HTTP1.1協議,允許客戶端與 web 伺服器建立連線後,在一個連線上獲取多個 web 資源。

HTTP請求的細節——請求行

請求行中的GET 稱之為請求方式,請求方式有:

POST、 GET 、 HEAD 、 OPTIONS 、 DELETE 、 TRACE 、 PUT

常用的有: GET 、  POST

使用者如沒有設定,預設情況下瀏覽器向伺服器傳送的都是get 請求,例如在瀏覽器直接輸地址訪問,點超連結訪問等都是 get ,使用者如想把請求方式改為 post ,可通過更改表單的提交方式實現。

不管POST 或 GET ,都用於向伺服器請求某個 WEB 資源,這兩種方式的區別主要表現在資料傳遞上:

如請求方式為GET 方式,則可以在請求的 URL 地址後以 ? 的形式帶上交給伺服器的資料,多個數據之間以 & 進行分隔,例如:

GET /mail/1.html?name=abc&password=xyz HTTP/1.1

GET方式的特點:在 URL 地址後附帶的引數是有限制的,其資料容量通常不能超過 1K 。

如請求方式為POST 方式,則可以在請求的實體內容中向伺服器傳送資料, Post 方式的特點:傳送的資料量無限制。

HTTP請求的細節——訊息頭

用於HTTP 請求中的常用頭

Accept: text/html,image/*    

Accept-Charset: ISO-8859-1

Accept-Encoding: gzip,compress

Accept-Language: en-us,zh-cn 

Host: www.it315.org:80

If-Modified-Since: Fri, 11 Dec 2015 18:23:51 GMT

Referer: http://www.it315.org/index.jsp

User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)

Cookie

Connection: close/Keep-Alive   

Date: Fri, 11 Dec 2015 18:23:51 GMT

HTTP響應的細節——狀態行

狀態行

格式: HTTP 版本號 狀態碼 原因敘述 <CRLF>

舉例:HTTP/1.1 200 OK

狀態碼用於表示伺服器對請求的處理結果,它是一個三位的十進位制數。響應狀態碼分為5 類,如下所示:

響應狀態碼à典型情況

200(正常) 

表示一切正常,返回的是正常請求結果。

302/307(臨時重定向)

指出被請求的文件已被臨時移動到別處,此文件的新的URL 在 Location 響應頭中給出。

304(未修改)

表示客戶機快取的版本是最新的,客戶機應該繼續使用它。

403(禁止) 

伺服器理解客戶端請求,但拒絕處理它。通常由於伺服器上檔案或目錄的許可權設定所致。 

404(找不到) 

伺服器上不存在客戶機所請求的資源。

500(內部伺服器錯誤) 

伺服器端的CGI 、 ASP 、 JSP 等程式發生錯誤。

HTTP響應細節——常用響應頭

HTTP請求中的常用響應頭

Location: http://www.it315.org/index.jsp 

Server:apache tomcat

Content-Encoding: gzip 

Content-Length: 80 

Content-Language: zh-cn 

Content-Type: text/html; charset=GB2312 

Last-Modified: Fri, 11 Dec 2015 18:23:51 GMT

Refresh: 1;url=http://www.it315.org

Content-Disposition: attachment; filename=aaa.zip

Transfer-Encoding: chunked  

Set-Cookie:SS=Q0=5Lb_nQ; path=/search

ETag: W/"7777-1242234904000"

Expires: -1

Cache-Control: no-cache  

Pragma: no-cache   

Connection: close/Keep-Alive   

Date: Fri, 11 Dec 2015 18:23:51 GMT