網絡基本功(二十八):Wireshark抓包實例分析HTTP問題(下)web
轉載請在文首保留原文出處:EMC中文支持論壇https://community.emc.com/go/chinese 瀏覽器
本文承接上文。服務器
Client errors:網絡
Codeapp |
Statuside |
Explanation工具 |
What to doui |
400this |
Bad requestspa |
The request could not be understood by the server due to a syntax problem. The request should be modified by the client before resending to it. |
Check the website address. This can also happen due to a site error. |
401 |
Authorization required |
The client is denied access due to the lack of authentication codes. |
Check your username and password. |
402 |
Payment required |
Reserved for future use. |
|
403 |
Forbidden |
The client is not allowed to see a specific file. This can be due to the server access limit. |
Check the credentials. Also, there are fewer chances that the server is loaded. |
404 |
Not found |
The requested resource could not be found. |
This can be because the resource was deleted, or it never existed before. It can also be due to URL misspellings. |
405 |
Method not allowed |
The method you are using to access the file is not supported or not allowed by the resource. |
|
406 |
Not acceptable |
Content generated by the resource is not acceptable according to the client request. |
Check/update your browser. |
407 |
Proxy authentication required |
Request authentication is required before it can be performed. |
The client must first authenticate itself with the proxy. |
408 |
Request timed out |
It took the server longer than the allowed time to process the request. |
Check response time and load on the network. |
409 |
Conflict |
The request submitted by the client cannot be completed because it conflicts with some established rules. |
Can be because you try to upload a file that is older that the existing one or similar problems. Check what the client is trying to do. |
410 |
Gone |
The URL requested by the client is no longer available from that system. |
Usually this is a server problem. It can be due to a file that was deleted or location was forwarded to a new location. |
411 |
Content length required |
The request is missing itsContent-Length header. |
Compatibility issue on a website. Change/update your browser. |
412 |
Precondition failed |
The client has not set up a configuration that is required for the file to be delivered. |
Compatibility issue on a website. Change/update your browser. |
413 |
Request entity too long |
The requested file was too big to process. |
Server limitation. |
414 |
Request URI too long |
The address you entered was overly long for the server. |
Server limitation. |
415 |
Unsupported media type |
The file type of the request is not supported. |
Server limitation. |
如下示例是一個簡單的客戶端報錯。按照如下步驟進行操做:
右鍵有報錯的報文。
選擇Follow TCP stream,會看到如下窗口:
3. 顯示如下內容:
客戶端嘗試瀏覽URI/poker-client/broadcast.htm(如截屏中1和3所示)
URI經過http://www.888poker.com/poker-client/promotions.htm轉發(截屏中2所示)
狀態碼爲404 Not Found(如截屏中4所示)
Client errors:
Code |
Status |
Explanation |
What to do |
500 |
Internal server error |
The web server encountered an unexpected condition that prevented it from carrying out the client request for access to the requested URL. |
Response that is usually caused by a problem in your Perl code when a CGI program is run. |
501 |
Not implemented |
The request cannot be executed by the server. |
A server problem. |
502 |
Bad gateway |
The server you're trying to reach is sending back errors. |
A server problem. |
503 |
Service unavailable |
The service or file that is being requested is not currently available. |
A server problem. |
504 |
Gateway timeout |
The gateway has timed out. This message is like the 408 timeout error, but this one occurs at the gateway of the server. |
Server is down or nonresponsive. |
505 |
HTTP version not supported |
The HTTP protocol version that you want to use for communicating with the server is not supported by it. |
Server does not support the HTTP version. |
服務器不可用(錯誤代碼503)可能有多種緣由。如下示例是一個小辦公室碰到的問題:員工可以訪問Facebook,但當他們點擊站點上的連接,則顯示頁面被攔截。如下截屏中,可看出頁面被防火牆攔截:
工做原理:
標準的HTTP瀏覽模式以下:
TCP打開鏈接(三路握手信號)
HTTP發送GET命令
數據下載到瀏覽器
在一個網頁打開多個鏈接的狀況下(大多數網頁都是如此)。每一個鏈接須要一個DNS 查詢,響應,TCP SYN-SYN/ACK-ACK,以及HTTP GET。以後數據纔會出如今顯示屏上。
當你在packet detail面板沒有看到顯示內容時,右鍵報文並選擇Follow TCP stream,會看到鏈接的細節數據。另外一個普遍應用的工具是Fiddler,Fiddler是HTTP故障排查的免費工具。