【干货连载】HTTP协议的状态码

原标题:【干货连载】HTTP协议的状态码
前面两期为大家介绍了http协议到底是个啥 , 并且通过它的请求方法为大家剖析了打开一次网页它的内部过程是怎样的!
而今天 , 将带大家了解关于网页响应速度的三行代码!
HTTP的状态码
简介:
状态码是用以表示网页服务器超文本传输协议响应状态的3位数字代码 。
状态码含义:
状态代码的第一个数字代表当前响应的类型:
1xx消息——请求已被服务器接收 , 继续处理
2xx成功——请求已成功被服务器接收、理解、并接受
3xx重定向——需要后续操作才能完成这一请求
4xx请求错误——请求含有词法错误或者无法被执行
5xx服务器错误——服务器在处理某个正确请求时发生错误
常见状态码:
(1)2xx--成功--(3种)
200OK:表示从客户端发送给服务器的请求被正常处理并返回
204NoContent:表示客户端发送给客户端的请求得到了成功处理 , 但在返回的响应报文中不含实体的主体部分(没有资源可以返回)
206PatialContent:表示客户端进行了范围请求 , 并且服务器成功执行了这部分的GET请求 , 响应报文中包含由Content-Range指定范围的实体内容
(2)3xx--重定向--(5种)
301MovedPermanently:永久性重定向 , 表示请求的资源被分配了新的URL , 之后应使用更改的URL
302Found:临时性重定向 , 表示请求的资源被分配了新的URL , 希望本次访问使用新的URL
301与302的区别:前者是永久移动 , 后者是临时移动(之后可能还会更改URL)
303SeeOther:表示请求的资源被分配了新的URL , 应使用GET方法定向获取请求的资源
302与303的区别:后者明确表示客户端应当采用GET方式获取资源
304NotModified:表示客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的请求时 , 服务器端允许访问资源 , 但是请求为满足条件的情况下返回改状态码
305UseProxy:使用代理 。 所请求的资源必须通过代理访问
306Unused:已经被废弃的HTTP状态码
307TemporaryRedirect:临时重定向 , 与303有着相同的含义 , 307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况)
(3)4xx--客户端错误--(4种)
400BadRequest:表示请求报文中存在语法错误
401Unauthorized:未经许可 , 需要通过HTTP认证
403Forbidden:服务器拒绝该次访问(访问权限出现问题)
404NotFound:表示服务器上无法找到请求的资源 , 除此之外 , 也可以在服务器拒绝请求但不想给拒绝原因时使用
405MethodNotAllowed客户端请求中的方法被禁止
406NotAcceptable服务器无法根据客户端请求的内容特性完成请求
407ProxyAuthenticationRequired请求要求代理的身份认证 , 与401类似 , 但请求者应当408RequestTime-out服务器等待客户端发送的请求时间过长 , 超时
409Conflict服务器完成客户端的PUT请求时可能返回此代码 , 服务器处理请求时发生了冲突
410Gone客户端请求的资源已经不存在 。 410不同于404 , 如果资源以前有现在被永久删除了可使用410代码 , 网站设计人员可通过301代码指定资源的新位置
411LengthRequired服务器无法处理客户端发送的不带Content-Length的请求信息
412PreconditionFailed客户端请求信息的先决条件错误
413RequestEntityTooLarge由于请求的实体过大 , 服务器无法处理 , 因此拒绝请求 。 为防止客户端的连续请求 , 服务器可能会关闭连接 。 如果只是服务器暂时无法处理 , 则会包含一个Retry-After的响应信息
414Request-URITooLarge请求的URI过长(URI通常为网址) , 服务器无法处理
415UnsupportedMediaType服务器无法处理请求附带的媒体格式
416Requestedrangenotsatisfiable客户端请求的范围无效
417ExpectationFailed服务器无法满足Expect的请求头信息
(4)5xx--服务器错误--(5种)
500InterServerError:表示服务器在执行请求时发生了错误 , 也有可能是web应用存在的bug或某些临时的错误时
503ServerUnavailable:表示服务器暂时处于超负载或正在进行停机维护 , 无法处理请求
504GatewayTime-out:充当网关或代理的服务器 , 未及时从远端服务器获取请求
505HTTPVersionnotsupported:服务器不支持请求的HTTP协议的版本 , 无法完成处理

【干货连载】HTTP协议的状态码
文章图片
好啦 , 这期的内容就分享到这里啦 , 下期为大家带来HTTP协议中URL与URI的简介 , 请继续关注我们哦~