http请求的状态码主要有1xx(临时响应)、2xx(成功)、3xx(已重定向)、4xx(请求错误)以及5xx(服务器错误)五个大类。可是咱们会遇到的确不是不少,因此不用一一记住,下面是一个列表, 表明了一些经常会出现的状态码:ajax
200 OK:表明一次成功的http请求。浏览器
204 No Content:请求已经被服务器成功执行,可是服务器不会返回资源内容,这个状态码能够这样理解:就是告诉客户端,你的请求我已经处理了,可是我没东西答复你,你也不用改变什么。应用场景:在浏览器中,咱们提交一个表单,可是又不想跳转页面时,可让服务器返回一个204状态码,这样浏览器是不会作跳转的;用ajax提交数据时,成功了能够只返回204状态码。缓存
301 Moved Permanently:表示请求的URL已经永久的改变了。这是一些服务端在迁移服务器时会常常用到的状态码。若是服务端返回了301状态码,那么在响应头中每每会包含一个Location响应头,它包含了资源的新地址。一般浏览器遇到这个响应状态码,会直接跳转到新的地址,有些浏览器会缓存新的地址(Firefox),在下次请求时,不去请求老的服务器,只去请求新的url。因此,若是你的资源部是否是永久改变的话,那么请慎用这个状态码。服务器
302 Found:若是你的资源搬离只是临时的,那么请使用这个状态响应码。在一些企业应用中,302每每做为一种重定向的手段,好比说将请求转到单点认证服务器。性能
304 Not Modified:这个状态码告诉客户端资源并无发生改变,能够继续使用缓存副本,这个状态码能够说让开发人员又爱又恨,为何这么说呢?由于咱们须要这个状态码,让浏览器能够更多的使用缓存,提升网站性能。可是,咱们在修改代码后,每每又不但愿由于缓存问题致使客户使用时出现bug。因此如何很好的配置服务器缓存策略是一个须要思考的问题。网站
401 Unauthorized: 表示客户端访问的资源是受保护的,服务器但愿客户端可以带上认证信息后,再去请求服务器资源。服务器会在响应头中带上WWW-Authenticate,告诉客户端编码方式编码
403 Forbidden:服务器认为客户端没有访问资源的权限。url
404 Not Found:资源没有找到,一般是用在请求静态资源时,服务器会返回。若是服务器报了404错误,服务器端开发人员应该跟踪日志,查找资源找不到的缘由。固然了,还有多是被代理拦截了,而后强制返回404。代理
500 Internal ServerError:服务端错误,每每出如今动态资源的请求中,出现这个错误的缘由不少。可是出现这个错误,每每是程序编码问题,开发人员应该快速定位问题,尽快解决问题。日志