您好,登錄后才能下訂單哦!
1.TCP協議與HTTP協議的關系
TCP協議對應于傳輸層,而HTTP協議對應于應用層,從本質上來說,二者沒有可比性。Http協議是建立在TCP協議基礎之上的,當瀏覽器需要從服務器獲取網頁數據的時候,會發出一次Http請求。
2.資源定位標識符
1)URI:統一資源標識符(uniform resource identifier)
Web上可用的每種資源如HTML文檔、圖像、視頻片段、程序等都是一個來URI來定位的。
URI一般由三部組成:
①訪問資源的命名機制
②存放資源的主機名
③資源自身的名稱,由路徑表示,著重強調于資源。
例如1: /index/details?id=100001191216152507989049
例如2:http://www.ruankao.org.cn/index/details?id=100001191216152507989049
例如3:/images/20190125/1548383260381985.png
2)URL:統一資源定位符(uniform resource locator)
采用URL可以用一種統一的格式來描述各種信息資源,包括文件、服務器的地址和目錄等。
URL一般由三部組成:
①協議(或稱為服務方式)
②存有該資源的主機IP地址(有時也包括端口號)
③主機資源的具體地址。如目錄和文件名等
例如1:http://113.195.*.*:8081/FinalResults/index.jsp
例如2:http://www.ruankao.org.cn/index/details?id=100001191216152507989049
3)URN:統一資源名稱 (Uniform Resource Name)?
唯一標識一個實體的標識符,但是不能給出實體的位置。
例如1:/FinalResults/index.jsp
例如2:/images/20190125/1548383260381985.png
URN和URL都屬于URI。
URL資源標識方式使用最廣泛,完整的URL組成格式如下:
實例1:http://www.ruankao.org.cn/index/details?id=100001191216152507989049
實例2:?http://113.195.*.*:8081/FinalResults/index.jsp
protoco: HTTP協議
hostname:??www.ruankao.org.cn? ? ?113.195.*.*?
port端口: 80端口? ? 8081
path路徑:?/FinalResults/index.jsp?
parameter參數:??id=100001191216152507989049
query查詢字符串:??id=100001191216152507989049
fragment片段,網頁中可能會分為不同的片段,如果想訪問網頁后直接到達指定位置,可以在這部分設置。
3.Http request與response詳解
客戶端瀏覽器向Web服務器發起request,Web服務器接到request后進行處理,會生成相應的response信息返給瀏覽器,客戶端瀏覽器收到服務器返回的response信息,會對信息進行分析處理,最終用戶看到瀏覽器展示Web服務器網頁內容。
通過curl -v 命令可以打印訪問Web服務器的request及response詳細處理流程,命令如下:
[sky9890@localhost ~]$ curl -v? www.51cto.com
* About to connect() to www.51cto.com port 80 (#0)
*? ?Trying 183.131.214.82...
* Connected to www.51cto.com (183.131.214.82) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: www.51cto.com
> Accept: */*
>?
< HTTP/1.1 302 Moved Temporarily
< Date: Wed, 15 Jan 2020 03:57:59 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: yd_cookie=a56fe60f-1498-40d51ea59d526a3a8f81113ae24e3de2f13f; Expires=1579067879; Path=/; HttpOnly
< Set-Cookie: acw_tc=2760826a15790606799981288eed8a1601f352fd245e56ff48c0e2caeb478b;path=/;HttpOnly;Max-Age=2678401
< Location: https://www.51cto.com/
< Server: WAF/2.4-12.1
4.Http客戶端與服務器端傳輸模式
5.各類常見Http狀態碼詳解
Http狀態碼是用來表示Web服務器Http response狀態的3位數字代碼,常用狀態碼詳解如下:
1xx(臨時響應)表示臨時響應并需要請求者繼續執行操作的狀態代碼。
100 (繼續) 請求者應當繼續提出請求。服務器返回此代碼表示已收到請求的第一部分,正在等待其余部分。
101 (切換協議) 請求者已要求服務器切換協議,服務器已確認并準備切換。
2xx (成功)表示成功處理了請求的狀態代碼。
200 (成功) 服務器已成功處理了請求。通常,這表示服務器提供了請求的網頁。
201 (已創建) 請求成功并且服務器創建了新的資源。
202 (已接受) 服務器已接受請求,但尚未處理。
203 (非授權信息) 服務器已成功處理了請求,但返回的信息可能來自另一來源。
204 (無內容) 服務器成功處理了請求,但沒有返回任何內容。
205 (重置內容) 服務器成功處理了請求,但沒有返回任何內容。
206 (部分內容) 服務器成功處理了部分 GET 請求。
3xx (重定向)表示要完成請求,需要進一步操作。 通常,這些狀態代碼用來重定向。
300 (多種選擇) 針對請求,服務器可執行多種操作。服務器可根據請求者 (user agent) 選擇一項操作,或提供操作列表供請求者選擇。
301 (永久移動) 請求的網頁已永久移動到新位置。服務器返回此響應(對 GET 或 HEAD 請求的響應)時,會自動將請求者轉到新位置。
302 (臨時移動) 服務器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以后的請求。
303 (查看其他位置) 請求者應當對不同的位置使用單獨的 GET 請求來檢索響應時,服務器返回此代碼。
304 (未修改) 自從上次請求后,請求的網頁未修改過。服務器返回此響應時,不會返回網頁內容。
305 (使用代理) 請求者只能使用代理訪問請求的網頁。如果服務器返回此響應,還表示請求者應使用代理。
307 (臨時重定向) 服務器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以后的請求。
4xx(請求錯誤)這些狀態代碼表示請求可能出錯,妨礙了服務器的處理。
400 (錯誤請求) 服務器不理解請求的語法。
401 (未授權) 請求要求身份驗證。 對于需要登錄的網頁,服務器可能返回此響應。
403 (禁止) 服務器拒絕請求。
404 (未找到) 服務器找不到請求的網頁。
405 (方法禁用) 禁用請求中指定的方法。
406 (不接受) 無法使用請求的內容特性響應請求的網頁。
407 (需要代理授權) 此狀態代碼與 401(未授權)類似,但指定請求者應當授權使用代理。
408 (請求超時) 服務器等候請求時發生超時。
409 (沖突) 服務器在完成請求時發生沖突。服務器必須在響應中包含有關沖突的信息。
410 (已刪除) 如果請求的資源已永久刪除,服務器就會返回此響應。
411 (需要有效長度) 服務器不接受不含有效內容長度標頭字段的請求。
412 (未滿足前提條件) 服務器未滿足請求者在請求中設置的其中一個前提條件。
413 (請求實體過大) 服務器無法處理請求,因為請求實體過大,超出服務器的處理能力。
414 (請求的 URI 過長) 請求的 URI(通常為網址)過長,服務器無法處理。
415 (不支持的媒體類型) 請求的格式不受請求頁面的支持。
416 (請求范圍不符合要求) 如果頁面無法提供請求的范圍,則服務器會返回此狀態代碼。
417 (未滿足期望值) 服務器未滿足”期望”請求標頭字段的要求.
5xx(服務器錯誤)這些狀態代碼表示服務器在嘗試處理請求時發生內部錯誤。 這些錯誤可能是服務器本身的錯誤,而不是請求出錯。
500 (服務器內部錯誤) 服務器遇到錯誤,無法完成請求。
501 (尚未實施) 服務器不具備完成請求的功能。例如,服務器無法識別請求方法時可能會返回此代碼。
502 (錯誤網關) 服務器作為網關或代理,從上游服務器收到無效響應。
503 (服務不可用) 服務器目前無法使用(由于超載或停機維護)。通常,這只是暫時狀態。
504 (網關超時) 服務器作為網關或代理,但是沒有及時從上游服務器收到請求。
505 (HTTP 版本不受支持)服務器不支持請求中所用的 HTTP 協議版本,無法完成處理。
HttpWatch狀態碼Result is
200 – 服務器成功返回網頁,客戶端請求已成功。
302 – 對象臨時移動。服務器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以后的請求。
304 – 屬于重定向。自上次請求后,請求的網頁未修改過。服務器返回此響應時,不會返回網頁內容。
401 – 未授權。請求要求身份驗證。 對于需要登錄的網頁,服務器可能返回此響應。
404 – 未找到。服務器找不到請求的網頁。
2xx – 成功。表示服務器成功地接受了客戶端請求。
3xx – 重定向。表示要完成請求,需要進一步操作。客戶端瀏覽器必須采取更多操作來實現請求。例如,瀏覽器可能不得不請求服務器上的不同的頁面,或通過代理服務器重復該請求。
4xx – 請求錯誤。這些狀態代碼表示請求可能出錯,妨礙了服務器的處理。
5xx – 服務器錯誤。表示服務器在嘗試處理請求時發生內部錯誤。 這些錯誤可能是服務器本身的錯誤,而不是請求出錯。
6.HTTP MIME類型支持
瀏覽器接收到Web服務器的response信息,瀏覽器會進行解析,在解析頁面之前,瀏覽器必須啟動本地相應的應用程序來處理獲取到的文件類型。
超文本標記語言文本 .html? text/html
xml文檔 .xml? text/xml
XHTML文檔 .xhtml? application/xhtml+xml
普通文本 .txt? text/plain
RTF文本 .rtf? application/rtf
PDF文檔 .pdf? application/pdf
Microsoft Word文件 .word? application/msword
PNG圖像 .png? image/png
GIF圖形 .gif? image/gif
JPEG圖形 .jpeg,.jpg? image/jpeg
au聲音文件 .au? audio/basic
MIDI音樂文件 mid,.midi? audio/midi,audio/x-midi
RealAudio音樂文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg? video/mpeg
AVI文件 .avi? video/x-msvideo
GZIP文件 .gz? application/x-gzip
TAR文件 .tar? application/x-tar
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。