网络基本功(二十八):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故障排查的免费工具。