常用HTTP状态码和CURL 000问题

  最近在测试CDN服务质量问题,测试过程中返回了一些不同的状态码,当然有一些常用的,也有一些不常用的。最奇葩的是在使用curl命令的时候出现000状态码,问了很多同事,对这个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 & < > /tmp/err.log。

参考文章: wikipedia:https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

http://superuser.com/questions/501690/curl-http-code-of-000</eof

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值