考慮當瀏覽器發送一個HTTP GET報文時,通過Wireshark?俘獲到下列ASCII字符串:
GET /cs453/index.html HTTP/1.1
Host: gaia.cs.umass.edu
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)
Accept: ext/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, */*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: zip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
指出下面HTTP GET報文中該瀏覽器所運行的主機的IP地址是什么
- A.?沒有包含IP地址
- B. localhost
- C. 127.0.0.1
- D. gaia.cs.umass.edu
- HTTP GET報文中不會直接包含客戶端IP地址。IP地址是網絡層(TCP/IP)的信息,而HTTP是應用層協議,報文僅包含主機名(如
Host
字段)。 - 客戶端IP地址通常由底層協議(如TCP/IP頭)或服務器通過連接信息獲取(如
X-Forwarded-For
頭,但此報文中無)。 gaia.cs.umass.edu
是服務器的域名,非客戶端IP。
報文解讀:
- 請求行(Request Line):
GET /cs453/index.html HTTP/1.1
- 方法:
GET
(請求獲取資源)。 - 路徑:
/cs453/index.html
(請求的URI)。 - 版本:
HTTP/1.1
。
- 方法:
- 首部字段(Headers):
Host: gaia.cs.umass.edu
- 指定請求的目標主機(虛擬主機支持必需字段,HTTP/1.1要求)。
User-Agent: Mozilla/5.0 (...)
- 客戶端瀏覽器和操作系統信息(這里是Netscape 7.2,運行于Windows NT 5.1)。
Accept: ...
- 客戶端可接受的響應內容類型(優先級通過
q
值表示)。
- 客戶端可接受的響應內容類型(優先級通過
Accept-Language: en-us,en;q=0.5
- 優先接收英語內容。
Accept-Encoding: zip,deflate
- 支持的壓縮編碼方式。
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
- 支持的字符集。
Keep-Alive: 300
- 請求保持TCP連接活躍的時長(300秒)。
Connection: keep-alive
- 要求使用持久連接(HTTP/1.1默認支持,此處顯式聲明)。
回答時間
根據以下HTTP GET報文,服務器能否成功地找到文檔?該文檔提供回答是什么時間?
HTTP/1.1 200 OK # 響應狀態行:服務器成功返回請求的文檔(狀態碼200)
Date: Tue,07 Mar 2008 12:39:45GMT # 響應頭:服務器生成此響應的時間(2008年3月7日)
Server: Apache/2.0.52 (Fedora) # 響應頭:服務器軟件版本(Apache 2.0.52)
Last-Modified: Sat,10 Dec2005 18:27:46 GMT # 響應頭:文檔最后修改時間(2005年12月10日)
ETag: "526c3-f22-a88a4c80" # 響應頭:文檔唯一標識符(用于緩存驗證)
Accept-Ranges: bytes # 響應頭:支持按字節范圍請求
Content-Length: 3874 # 響應頭:響應體長度(3874字節)
Keep-Alive: timeout=max=100 # 響應頭:持久連接參數(超時100秒)
Connection: Keep-Alive # 響應頭:保持TCP連接活躍
Content-Type: text/html; charset=ISO-8859-1 # 響應頭:文檔類型為HTML,字符集為ISO-8859-1# 空行(分隔頭部和正文)
<!doctype html public ...> # 響應體開始:HTML文檔內容(省略后續部分)
- 能否成功找到文檔-響應狀態行(狀態碼200)表示成功找到文檔
- 文檔回答時間-
Date
服務器生成響應的時間
瀏覽器類型
根據以下HTTP GET報文,發起該報文的瀏覽器的類型是什么?
GET /cs453/index.html HTTP/1.1
Host: gai.cs.umass.edu
User-Agent: Mozilla/5.0 (Windows;U; Windows NT 5.1, en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)
Accept: ext/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: zip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
瀏覽器類型:
User-Agent
?字段明確標識了瀏覽器的信息:Mozilla/5.0
(標準瀏覽器標識,表示兼容Mozilla)Gecko/20040804
(渲染引擎版本)Netscape/7.2
(實際瀏覽器名稱)Windows NT 5.1
(運行的操作系統)
返回的字節
根據以下HTTP GET報文,文檔中被返回的字節有多少?
HTTP/1.1 200 OK
Date: Tue,07 Mar 2008 12:39:45GMT
Server: Apache/2.0.52 (Fedora)
Last-Modified: Sat,10 Dec2005 18:27:46 GMT
ETag: "526c3-f22-a88a4c80"
Accept-Ranges: bytes
Content-Length: 3874
Keep-Alive: timeout=max=100
Connection: Keep-Alive
Content-Type: text/html; charset=ISO-8859-1<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><meta name="GENERATOR" content="Mozilla/4.79[en] (Windows NT 5.0; U) Netscape"><title>CMPSCI 453 / 591 / NTU-ST550A Spring 2005 homepage</title>
</head>
<much more document text following here (not shown)>
返回的字節數:
Content-Length
:表示響應體(即返回的 HTML 文檔)的字節數,這里是?3874。
響應體內容
根據以下HTTP GET報文,文檔被返回的前五個字節是什么?
HTTP/1.1 200 OK
Date: Tue,07 Mar 2008 12:39:45GMT
Server: Apache/2.0.52 (Fedora)
Last-Modified: Sat,10 Dec2005 18:27:46 GMT
ETag: "526c3-f22-a88a4c80"
Accept-Ranges: bytes
Content-Length: 3874
Keep-Alive: timeout=max=100
Connection: Keep-Alive
Content-Type: text/html; charset=ISO-8859-1<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
...
Coutent-Type
之后有一個空行
頭部和正文之間通過空行分隔,空行后的內容就是響應體(即文檔內容)
HTTP連接類型
根據以下HTTP GET報文,該瀏覽器請求的是一條非持續連接還是一條持續連接?
GET /cs453/index.html HTTP/1.1
Host: gai.cs.umass.edu
User-Agent: Mozilla/5.0 (Windows;U; Windows NT 5.1, en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)
Accept: ext/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: zip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
關鍵字段分析:
Connection: keep-alive
- 明確要求服務器使用持續連接(HTTP/1.1默認行為,但此字段顯式聲明)。
- 若為
Connection: close
,則為非持續連接。
Keep-Alive: 300
- 附加參數,表示希望保持連接活躍300秒(進一步確認持續連接意圖)。
- HTTP版本
- 協議為
HTTP/1.1
,默認支持持續連接(不同于HTTP/1.0默認關閉連接)。
- 協議為