就在今天,2015年5月28日,中国最大的旅游机票预订网站--携程网粗大事了。据传携程网的数据库被人物理删除了,而容灾备份的数据又无法正常使用,服务器全面遭受瘫痪。每小时给携程带来的损失约100万美元。巴拉巴拉,作为中国最大的.Net互联网公司,携程出了这样的事情真是不应该(技术人员:怪我咯)。

  转入正题当我们打开携程首页会看到这样一个错误页面:

在页面的下方我们会看到404这样一串数字。

其实在我们打开一些小网站时,常常会遇到这样一串数字,这些数字是我们进行http请求时,服务端给出的响应结果。

这些响应结果,全部为三位数字的十进制数组成,根据百位数的不同可以分为5类:

1XX:这个响应是临时响应,表示已经收到请求,并要求请求者继续操作。

2XX:表示请求方发出的请求服务端已经成功处理。

3XX:重定向,表示客户端发出的请求服务端已经收到,但是如果想要完成请求,服务端还需要客户端进一步操作。

4XX:客户端错误(客户端的请求错误),表示请求包含的语法错误,或者说客户端的请求无法实现

5XX:服务端错误,这个错误表示服务端出现了问题,无法做出正确的操作,出现这种错误的原因可能是因为服务器本身的问题,而不是客户端的请求出错了。

很明显携程的错误时属于第四种,客户端的请求出错了,但是具体是什么错误,我们还要查看具体的响应码,下表罗列了一些常用的响应码(标红字体为最常出现的几种响应码):

505

响应码 key          含义 value comments
100  continue 继续:  服务器已经收到请求的第一部分,请发送剩余部分的请求
101  switch protocols 切换协议:请求者发出的切换协议请求,服务端已经收到并确认准备切换
              
   正常,请求已完成。通常表示服务器提供了请求的网页
 201    已创建,请求成功,并且服务器已经创建了该资源
 202    服务端已经接受处理,但是处理尚未完成
 203    服务端已经成功处理了请求,但是应答可能来自于另外一个来源 
 204    服务器已经正常处理了响应,但是没有需要返回的内容
     
 300    客户端请求的文档可以在多个地方找到,路径在返回文档中列出 
 301    请求的网页已经永久的放置到了新的位置,服务端将会将请求转向新的位置,新的url会在location头中给出,浏览器会自动跳转
 302    与301类似,但是请求的网页放置的位置是临时的
 303    与301、302类似。只是重定向时,指明一些资源需要通过GET形式来获取
 304    服务端保存的资源与之前客户端请求时,并未发生改变。客户端缓冲的资源还可以继续使用,故不再返回网页内容
 305    客户端请求资源只能通过指定的代理服务器来获取,同时会返回指定的代理服务器的地址
     
 400    错误的请求,服务器不理解客户端的请求语法
 401    未授权,客户端不具备访问该资源的权限,需要进行身份认证,一般出现在需要登录的界面
403   拒绝请求 , 客户端的请求被服务端拒绝
 404    找不到请求的资源,客户端提出的请求,服务端无法在指定位置找到资源
405   禁用指定中所请求的方法,如在前文(点击这里)中提到的 POST PUT等动作
 407    类似于401,但是客户端需要在代理服务器进行身份认证
     
500   由于服务器内部错误,无法完成客户端的请求
 501    未执行,服务端并不支持实现请求所需要的功能,如服务端不支持客户端的DELETE请求
  网关错误,指服务器作为中转,请求上游的服务器时得到了错误的响应,此时向下游返回该错误
 503    服务暂时不可用,一般会出现在服务器超载(如数据库连接),或者数据库维护期间
504   网关超时,和502类似,只是在等待上游做出响应时,等待超时,向下游返回该结果
 505     服务器不支持请求中的http的版本

今天携程出事了:让我们来学习下http的响应码的更多相关文章

  1. 微信小程序体验(1):携程酒店机票火车票

    在 12 月 28 日微信公开课上,张小龙对微信小程序的形态进行了阐释,小程序有四个特定:无需安装.触手可及.用完即走.无需卸载. 由于携程这种订酒店.火车票和机票等工具性质非常强的服务,非常符合张小 ...

  2. 携程App的网络性能优化实践

    首先介绍一下携程App的网络服务架构.由于携程业务众多,开发资源导致无法全部使用Native来实现业务逻辑,因此有相当一部分频道基于Hybrid实现.网络通讯属于基础&业务框架层中基础设施的一 ...

  3. 实现携程X分钟前有人预定功能

    实现携程X分钟前有人预定功能 原理:利用cookie与计时器两部分: 首先,进入页面,x会被随机数赋值,赋值后x会一分钟加1,直到加到60,再从1开始累加. 页面是否相同是根据页面的url后的id值判 ...

  4. 携程Ctrip DAL的学习 2

    携程Ctrip DAL的学习 2 本人net开发菜鸟,原理请自行看github的官网源码. 我这里是简单的使用(helloworld的水平). 代码生成器的使用 详见 官网使用说明 注意的地方: 1 ...

  5. 携程Ctrip DAL的学习1

    携程Ctrip DAL的学习 1 本人net开发菜鸟,原理请自行看github的官网源码. 我这里是简单的使用(helloworld的水平). Ctrip DAL是携程框架部开发的数据库访问框架,支持 ...

  6. OpenStack虚拟云桌面在携程呼叫中心的应用

    编者:本文为刘科在第六期[携程技术微分享]中的分享内容.在携程技术中心(微信号ctriptech)微信后台回复[云桌面],可加入微信交流群,和关注云桌面的小伙伴一起玩耍~ 刘科,携程系统研发云平台桌面 ...

  7. 我所了解的各公司使用的 Ceph 存储集群 (携程、乐视、有云、宝德云、联通等)

    Ceph 作为软件定义存储的代表之一,最近几年其发展势头很猛,也出现了不少公司在测试和生产系统中使用 Ceph 的案例,尽管与此同时许多人对它的抱怨也一直存在.本文试着整理作者了解到的一些使用案例. ...

  8. SOAP-XML请求(iOS应用下集成携程api)

    用携程机票为例: 携程联盟 飞机票.门票 联盟ID:278639 站点ID:739462 密钥KEY:BE57B925-E8CE-4AA2-AC8E-3EE4BBBB686F API_URL:open ...

  9. 我所了解的 京东、携程、eBay、小米 的 OpenStack 云

    参加过几次 OpenStack meetup 活动,听过这几家公司的Architect 讲他们公司的 OpenStack产品.本文试着凭借影响加网络搜索,按照自己的理解,对这些公司的 OpenStac ...

随机推荐

  1. .NET简谈接口

    自从面向对象开发方式的出现,抽象的概念就开始日新月异的发展,面向对象编程.面向接口编程.面向组件编程等等:这一系列的概念都是软件工程所追求的思想范畴,高类聚低耦合. 今天我要简谈的是面向对象里面非常重 ...

  2. Linux crontab 命令格式与详细例子

    基本格式 :* * * * * command分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示第2列表示小时1-23(0表示0点)第3列表示日期1-31第4列表示月份1-1 ...

  3. docker 配置文件引发的问题

    好久没有配置 vmware / harbor 了,突然间来了兴趣,结果让我失望了,登陆反复的被refused; 这个是配置文件地址:https://github.com/vmware/harbor/b ...

  4. 理解margin

    margin可以改变容器的尺寸 //元素尺寸分为可视尺寸,占据尺寸 margin与可视尺寸 1.适用于没有设定width/height的普通block水平元素 2.只适用于水平方向的尺寸 应用:一侧定 ...

  5. macos开发pgsql数据库

    mac安装Postgresql作为数据库 最简单的方式是安装Postgres.App. 这个应用里自带了最新版本的PostgreSQL而且不需要学习数据库服务器启动和关闭的命令.程序安好后(别忘了拖拽 ...

  6. 6个函数的output看JS的块级作用域

    1. var output = 0; (function() { output++; }()); console.log(output); 函数对全局的output进行操作,因为JS没有块级作用域,所 ...

  7. 关于java.lang.NoSuchMethodError: android.widget.RelativeLayout.setBackground的解决办法

    今天用一个安卓4.0.4版本的手机测试手上的项目,发现logcat弹出这样一个提示“java.lang.NoSuchMethodError: android.widget.RelativeLayout ...

  8. HDU 4757 Tree(可持久化Trie+Tarjan离线LCA)

    Tree Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/102400 K (Java/Others) Total Su ...

  9. Open Data Structure Templates

    数据结构模板 Chen 2016/12/22 前言 本篇博客的模板,全部是我纯手打的,如果有发现错误,请在下方留言指正:).欢迎大家参考. 有一些地方还不是很完善,等过一阵子用C++实现和部分重构下. ...

  10. iOS版本更新的App提交审核发布流程

    http://www.2cto.com/kf/201502/378698.html 版本更新的App和新App的发布提交流程略有不同,新的App需要在开发者账号里准备发布证书,添加App的id,关联描 ...