美文网首页服务端其他
[HTTP]常用HTTP状态码和CURL 000问题

[HTTP]常用HTTP状态码和CURL 000问题

作者: _小老虎_ | 来源:发表于2018-08-28 22:10 被阅读632次

使用curl命令的时候出现000状态码.

一、生产环境常见的HTTP CODE

生产环境常见的HTTP状态码列表(List of HTTP status codes)为:

2XX成功: 200 - OK,服务器成功返回网页   - Standard response for successful HTTP requests.

3XX重定向: 301 - Moved Permanently(永久跳转),请求的网页已永久跳转到新位置。   - This and all future requests should be directed to the given. 302 - Moved Temporarily(永久跳转),请求的网页已临时跳转到新位置。

4XX客户端错误: 403 - Forbidden(禁止访问),服务器拒绝请求   - forbidden request (matches a deny filter) => HTTP 403   - The request was a legal request, but the server is refusing to respond to it. 404 - Not Found,服务器找不到请求的页面。   - The requested resource could not be found but may be available again in the future.

5XX服务器错误: 500 - Internal Server Error(内部服务器错误)   - internal error in haproxy => HTTP 500   - A generic error message, given when no more specific message is suitable. 502 - Bad Gateway(坏的网关),一般是网关服务器请求后端服务时,后端服务没有按照http协议正确返回结果。   - the server returned an invalid or incomplete response => HTTP 502   - The server was acting as a gateway or proxy and received an invalid response from the upstream server. 503 - Service Unavailable(服务当前不可用),可能因为超载或停机维护。   - no server was available to handle the request => HTTP 503   - The server is currently unavailable (because it is overloaded or down for maintenance). 504 - Gateway Timeout(网关超时),一般是网关服务器请求后端服务时,后端服务没有在特定的时间内完成服务。   - the server failed to reply in time => HTTP 504   - The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.

二、curl奇怪的返回值000。

经过测试发现在curl的时候出现000的情况有如下几种:

1.Failed DNS resolution (6)

curl -w "%{http_code}\n" http://example.invalid/ ; echo "Exit code:?" 000 curl: (6) Could not resolve host: example.invalid Exit code: 6

2.Connection refused (7)

curl -w "%{http_code}\n" http://localhost:81/ ; echo "Exit code:?" 000 curl: (7) Failed to connect to localhost port 81: Connection refused Exit code: 7

Connection timed out (28)

curl -w "%{http_code}\n" -m 5 http://10.255.255.1/ ; echo "Exit code:?" 000 curl: (28) Connection timed out after 5001 milliseconds Exit code: 28

Server actually returns 000 for some reason (0)

开启一个监听端口:

nc -l -p 65535 & <<EOF

HTTP/1.1 000 Fake Status Code
Content-Length: 0
Connection: close

客户端请求:

curl -w "%{http_code}\n" http://localhost:65535/ ; echo "Exit code:?" 000 Exit code: 0

*注释:一般情况下遇到000,默认考虑为200,正常。

在测试过程中打印了000时的错误信息,错误为:Connection timed out。使用curl时,参数:-sS ,然后将curl的错误 2>> /tmp/err.log。

相关文章

  • [HTTP]常用HTTP状态码和CURL 000问题

    使用curl命令的时候出现000状态码. 一、生产环境常见的HTTP CODE 生产环境常见的HTTP状态码列表(...

  • shell-检测服务状态

    通过curl获取HTTP状态返回码 curl -o /dev/null -s -w %{http_code} 1...

  • curl

    通过curl的-w参数我们可以自定义curl的输出,%{http_code}代表http状态码 代码如下 复制...

  • 常用HTTP 状态码

    状态码的分类1XX:Infomational(信息性状态码)接收的请求正在处理2XX:Success(成功状态码)...

  • HTTP常用状态码

    1. 2XX 成功 200 OK表示从客户端发来的请求在服务器端被正常处理了 204 No Content代表服务...

  • http常用状态码

    本质 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。 1X...

  • HTTP常用状态码

    100:继续 客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。10...

  • 常用http状态码

    1开头,信息,服务器收到请求,需要请求者继续执行操作 100(继续),客户端应继续其请求 101(切换协议),服务...

  • http常用状态码

    100~199:指示信息,表示请求已接收,继续处理200~299:请求成功,表示请求已被成功接收、理解、接受300...

  • HTTP 常用状态码

    2**开头 (请求成功)表示成功处理了请求的状态代码。 200 (成功) 服务器已成功处理了请求。 通常,这表示服...

网友评论

    本文标题:[HTTP]常用HTTP状态码和CURL 000问题

    本文链接:https://www.haomeiwen.com/subject/nzrcwftx.html