可能是最详细的HTTP状态码介绍 常见状态码包含实际应用场景及解决办法

HTTP 状态码负责表示客户端 HTTP 请求的返回结果、 标记服务器端
的处理是否正常、 通知出现的错误等工作。

2XX 成功

200 OK

表示从客户端发来的请求在服务端被正常处理了。

204 No Content

服务器接收到的请求已成功处理,但在返回的响应报文中不含实体的主体部分。一般在只需从客户端往服务器发送信息,而对客户端不需要发送新信息内容的情况下使用。

206 Partial Content

表示客户端进行了 范围请求,而服务端成功执行了这部分的get请求。
这种请求可用于:

  • 学习http头和状态.
  • 解决网路问题.
  • 解决大文件下载问题.
  • 解决CDN和原始HTTP服务器问题.
  • 使用工具例如lftp,wget,telnet测试断电续传.
  • 测试将一个大文件分割成多个部分同时下载.

判断服务端是否支持该种请求可以通过head请求去尝试,关注服务端返回的相应中的请求头的以下字段。

Accept-Ranges: bytes - 该响应头表明服务器支持Range请求,以及服务器所支持的单位是字节(这也是唯一可用的单位).我们还能知道:服务器支持断点续传,以及支持同时下载文件的多个部分,也就是说下载工具可以利用范围请求加速下载该文件 .Accept-Ranges: none 响应头表示服务器不支持范围请求.
Content-Length: 36907 - Content-Length响应头表明了响应实体的大小

Range请求头辨认出一个部分内容请求.该请求头表明了客户端需要请求资源的哪一部分:
在这里插入图片描述
在上图的请求中,客户端告诉服务器,它需要该视屏文件中从172,032到13,325,503字节范围内的数据.。
在大多数情况下,客户端还会发送一些条件请求头,让服务器来辨别该返回哪个版本的资源.在上图的请求中,客户端把它在上次接收该资源的0到172032字节部分请求中服务器返回的ETag响应头作为了本次请求的If-Match请求头发送了出去,同样还把上次响应中的Last-Modified响应头用If-Unmodified-Since请求头发送了出去.

如果服务器发现该资源的版本与客户端所请求的版本不匹配,则会返回一个HTTP/412 Precondition Failed响应.如果客户端使用If-Range请求头而不是If-Match发送了上次收到的ETag响应头的值,且服务器发现客户端请求的版本与当前资源的版本不匹配,则服务器会返回整个资源数据.如果客户端需要完整的资源数据,使用If-Range可以减少一个网络请求. 服务器的Content-Range响应头表明了返回的是文件的哪一部分,Content-Length响应头表明了该部分文件的大小:
在这里插入图片描述
你也许注意到了Accept-Ranges响应头,服务器发送这个头的目的是让客户端知道服务器接受以字节为单位的部分内容请求.

如果你在Fiddler中看到了一个HTTP/206响应,但你需要的是一个完整的文件(比如你想保存一个完整的视屏文件),你可以选中该会话按下U键,或者按住Ctrl键点击工具栏中的Replay按钮,执行无条件请求

3XX重定向

3XX 相应结果表明浏览器需要执行某些特殊的处理以正确处理请求。

简单解释什么是重定向以及为什么要重定向

重定向可以简单理解为跳转链接。

1)网站调整(如改变网页目录结构);
2)网页被移到一个新地址;
3)网页扩展名改变(如应用需要把.php改成.Html或.shtml)。
这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失;再者某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点等。

301 Moved Permanently

永久性重定向。该状态码表示请求的资源已经被分配了新的url,以后应使用资源现在所指的 URI。 表示旧地址A的资源已经被永久地移除了(这个地址不可访问了),搜索引擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址。也就是说, 如果已经把资源对应的 URI保存为书签了, 这时应该按 Location 首部字段提示的 URI 重新保存。
使用301的场景:
1)域名到期不想续费(或者发现了更适合网站的域名),想换个域名。
2)在搜索引擎的搜索结果中出现了不带www的域名,而带www的域名却没有收录,这个时候可以用301重定向来告诉搜索引擎我们目标的域名是哪一个。
3)空间服务器不稳定,换空间的时候。
4)http升级https

302Found

临时性重定向。该状态码表示请求的资源已被分配了新的 URI, 希望用户(本次) 能使用新的 URI 访问。
比如未登陆的用户访问用户中心重定向到登录页面。访问404页面会重新定向到首页。
和 301 Moved Permanently 状态码相似, 但 302 状态码代表的资源不是被永久移动, 只是临时性质的。 换句话说, 已移动的资源对应的URI 将来还有可能发生改变。 比如, 用户把 URI 保存成书签, 但不会像 301 状态码出现时那样去更新书签, 而是仍旧保留返回 30

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值