HTTP常见状态码

此文为学习记录所用,为加深自己的理解,会随着学习的深入而做补充.
已记录200/301/302/403/404

状态码的总结

状态码定义
1xx报告 接收到请求,继续进程
2xx成功 步骤成功接收,被理解,并被接受
3xx重定向 为了完成请求,必须采取进一步措施
4xx客户端出错 请求包括错的顺序或不能完成
5xx服务器出错 服务器无法完成显然有效的请求

200 OK

请求已成功,请求所希望的响应头或数据体将随此响应返回。

301 Move Permanently

Permanently Moved是指永久性转移,即被请求的资源已永久移动到新位置;虽然使用该url依旧可以访问,但是建议使用响应返回的url作为访问地址。

302 Move temporarily

Temporarily Moved是指暂时性转移。请求的资源临时从不同的 URI响应请求。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。

403 Forbidden

服务器已经理解请求,但是拒绝执行它。

404 Not Found

请求失败,请求所希望得到的资源未被在服务器上发现。

以一段代码为例:

# -*- coding: UTF-8 -*-
from urllib import request
from urllib import error

if __name__ == "__main__":

    #一个不存在的连接
    url = "http://rocketship.com.au/404/"
    req = request.Request(url)
    try:
        response = request.urlopen(req)
        html = response.read().decode('utf-8')
        print(html)
    except error.HTTPError as e:
        print("HTTPError")
        print(e.code)
    except error.URLError as e:
        print("URLError")
        print(e.reason)

输出结果为:
HTTPError
404

但一个好的server,往往有很好的处理error的能力,比如baidu。在输入一个不存在的网址http://www.baidu.com/jakc_cui.html.网页的显示为:
百度404
而在python中的结果却不会报HTTPError 404。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值