HTTP协议学习总结四(常见响应状态码)

http请求的状态码主要有1xx(临时响应)、2xx(成功)、3xx(已重定向)、4xx(请求错误)以及5xx(服务器错误)五个大类。但是我们会遇到的确不是很多,所以不用一一记住,下面是一个列表, 代表了一些常常会出现的状态码:

  1. 200 OK:代表一次成功的http请求。

  2. 204 No Content:请求已经被服务器成功执行,但是服务器不会返回资源内容,这个状态码可以这样理解:就是告诉客户端,你的请求我已经处理了,但是我没东西答复你,你也不用改变什么。应用场景:在浏览器中,我们提交一个表单,但是又不想跳转页面时,可以让服务器返回一个204状态码,这样浏览器是不会做跳转的;用ajax提交数据时,成功了可以只返回204状态码。

  3. 301 Moved Permanently:表示请求的URL已经永久的改变了。这是一些服务端在迁移服务器时会经常用到的状态码。如果服务端返回了301状态码,那么在响应头中往往会包含一个Location响应头,它包含了资源的新地址。通常浏览器遇到这个响应状态码,会直接跳转到新的地址,有些浏览器会缓存新的地址(Firefox),在下次请求时,不去请求老的服务器,只去请求新的url。所以,如果你的资源部是不是永久改变的话,那么请慎用这个状态码。

  4. 302 Found:如果你的资源搬离只是临时的,那么请使用这个状态响应码。在一些企业应用中,302往往作为一种重定向的手段,比如说将请求转到单点认证服务器。

  5. 304 Not Modified:这个状态码告诉客户端资源并没有发生改变,可以继续使用缓存副本,这个状态码可以说让开发人员又爱又恨,为什么这么说呢?因为我们需要这个状态码,让浏览器可以更多的使用缓存,提高网站性能。但是,我们在修改代码后,往往又不希望因为缓存问题导致客户使用时出现bug。所以如何很好的配置服务器缓存策略是一个需要思考的问题。

  6. 401 Unauthorized: 表示客户端访问的资源是受保护的,服务器希望客户端能够带上认证信息后,再去请求服务器资源。服务器会在响应头中带上WWW-Authenticate,告诉客户端编码方式

  7. 403 Forbidden:服务器认为客户端没有访问资源的权限。

  8. 404 Not Found:资源没有找到,通常是用在请求静态资源时,服务器会返回。如果服务器报了404错误,服务器端开发人员应该跟踪日志,查找资源找不到的原因。当然了,还有可能是被代理拦截了,然后强制返回404。

  9. 500 Internal ServerError:服务端错误,往往出现在动态资源的请求中,出现这个错误的原因很多。但是出现这个错误,往往是程序编码问题,开发人员应该快速定位问题,尽快解决问题。

你可能感兴趣的:(http协议,状态码)