在我们向服务器发送一个HTTP请求时,会经历tcp连接(三次握手),发送HTTP请求,服务器返回HTTP响应,浏览器对响应中的状态码进行分析判断,来确定请求是否成功,是否成功得到我们需要的信息。

那么,对于服务器返回的常见状态码,浏览器会怎样应对呢?

1xx:是预留给协议的

2xx:是表示请求成功的

3xx:是表示重定向的

4xx:是客户端错误的

5xx:是服务器端错误的

常见状态码:

2xx

200:Success。请求成功。

3xx

301:永久重定向。当返回的状态码是301时,浏览器需要重新发送一个HTTP请求,到服务器返回的新地址。

重定向的原因:

是为了保持并提高该网站在搜索引擎的排名。两个不同的url地址被服务器认为是两个不同的网站,当一个网站因为某些原因变更了他的url,为了保持住他原来的排名,他会在原先的url的服务器做一个设置,当有用户访问该网站时(使用旧的url),服务器会返回一个301和一个新的url地址,这样浏览器收到这个状态码,便会自动继续使用新的url发送HTTP请求。

302:临时重定向。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。

303:临时重定向。响应可以在另一个url上被找到,并且客户端应以GET的方式访问那个资源,同时,303禁止被缓存;当然,第二个请求(重定向)可能被缓存(如果没有设置禁止缓存)。

304:禁止包含消息体,文档内容(自上次访问以来或根据请求条件)并没有改变。

305:使用代理。

307:临时重定向。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。PS:部分浏览器不能识别307。

临时重定向和永久重定向的区别:

临时重定向的旧url以后还会用,只是暂时用别的url代替;永久重定向是旧url不再使用,被新的url代替。

4xx

400:错误请求,语法或参数有误。

401:未授权。

403:禁止,拒绝请求。

404:Not Found。没有找到该页面。

5xx

500:服务器内部错误。

501:不支持当前请求所需要的某个功能。

502:错误网关。

503:服务器不可用(超载或停机维护),只是暂时不可用。

504:网关超时。

505:HTTP版本不受支持。

更多HTTP状态码的详细解释:传送门

本文链接:http://www.cnblogs.com/xsilence/p/6035917.html

浏览器对于常见HTTP状态码的反应的更多相关文章

  1. 常见HTTP状态码

    常见HTTP状态码 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redirect 400 Bad Req ...

  2. HTTP协议和几种常见的状态码

    前言:明知山有釜,偏向釜山行-----电影<釜山行> ------------------------------------------------------------------- ...

  3. 常见HTTP状态码大全

    我们经常会遇到404.500.302等提示,它们究竟是什么意思呢?除了这几个常见的状态码外,还有哪些我们没有遇到过的但有可能出现的状态码呢?网站的http状态对于网站维护人员来说是相当重要的,当网站出 ...

  4. 常见HTTP状态码及URL编码表

    常见HTTP状态码 1xx: 信息          (用于表示临时响应并需要请求者执行操作才能继续的状态代码) 消息: 描述: 100 Continue 服务器仅接收到部分请求,但是一旦服务器并没有 ...

  5. HTTP常见响应状态码及解释、常用请求头及解释

    1.HTTP常见响应状态码及解释2XX Success(成功状态码) 200 表示从客户端发来的请求在服务器端被正常处理204 该状态码表示服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主 ...

  6. HTTP常见的状态码——面试题常考

    一些常见的状态码为:  200 - 服务器成功返回网页 400(错误请求)服务器不理解请求的语法. 404 - 请求的网页不存在 500(服务器内部错误)服务器遇到错误,无法完成请求. 503 - 服 ...

  7. http协议中常见的状态码以及请求方式,http协议的组成

    请求状态码: 2xxx:表示请求成功,例如200. 3xxx:表示请求被重定向,表示完成请求,需要进一步操作,例如 302. 4xxx:表示请求错误,例如:404,资源没有找到. 5xxx:表示服务器 ...

  8. 常见HTTP状态码列表

    HTTP状态码 当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求.当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应 ...

  9. cdnbest常见http状态码解释

    cdnbest的常见状态码提示界面: 400状态码:语义有误,当前请求无法被服务器理解 网站访问报这个提示:host not found(找不到主机),这是没有同步站点信息到这个节点上,检查节点连接主 ...

随机推荐

  1. Spring Boot中静态资源(JS, 图片)等应该放在什么位置

    Spring Boot的静态资源,比如图片应该放在什么位置呢, 如果你放在传统WEB共的类似地方, 比如webapp或者WEB-INF下,你会得到一张示意文件未找到的破碎图片.那应该放哪里呢? 百度一 ...

  2. LNMP环境搭建完整步骤

    零.resource   http://pan.baidu.com/s/1o83r3S2 一.centos 6.4.VirtualBox 5.0.14 二.nginx 1.9.9 安装 [root@p ...

  3. B-Tree索引在sqlserver和mysql中的应用

    在谈论数据库性能优化的时候,通常都会提到“索引”,但很多人其实并没有真正理解索引,也没有搞清楚索引为什么就能加快检索速度,以至于在实践中并不能很好的应用索引.事实上,索引是一种廉价而且十分有效的优化手 ...

  4. jQuery简单的手风琴菜单

    查看效果:http://keleyi.com/keleyi/phtml/menu/5.htm 本菜单的HTML代码和JS代码都简洁,完整源代码: <!DOCTYPE html PUBLIC &q ...

  5. spritecow改造

    快速入口 不读文章可以直接拐向这里: spritecow二代:https://kmdjs.github.io/arejs-tool-sprite/ 写在前面 工欲善其事必先利其器,最近fork了一份s ...

  6. jQuery插件中文乱码解决办法

    修改jQuery插件源代码的时候,中文字符有时候会显示乱码,通常这个插件是老外写的,默认文件的编码格式ANSI格式,源代码写中文字符的时候就会显示乱码,解决方法就是将文件编码格式换成UTF-8格式 保 ...

  7. GitHub学习心得之 分支操作

    目录 前言 1. 一般的push和pull 2. 分支操作 前言 本文对Github的分支操作进行了总结, 主要基于以下文章: http://blog.csdn.net/guang11cheng/ar ...

  8. [Android]一个干净的架构(翻译)

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5276587.html 一个干净的架构 原文:https://b ...

  9. 【代码笔记】iOS-水波效果

    一,效果图. 二,工程图. 三,代码. ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIVie ...

  10. iOS多线程实现3-GCD

    原文链接:http://www.cnblogs.com/mddblog/p/4767559.html 敲下gcd三个字母,搜狗第一条显示居然是“滚床单” ^_^ 一.介绍 GCD,英文全称是Grand ...