http

响应状态码

2XX

  • 200 success

    3XX

  • 301 move permanently,资源永久改uri,通过响应头location重定向到新地址!
  • 302 临时移动,重定向新连接为响应头的location
  • 304 not modified,取缓存

    4XX

  • 400 bad request,客户端请求的语法错误
  • 403 Forbidden 服务器收到请求,但是拒绝提供服务,没有权限
  • 404 not found,路径错误
  • 405 请求方式错误
  • 406 non acceptable,请求头指定accept,服务器无法返回该类型的数据,则返回406

    5XX

  • 500 服务器程序出错
  • 503 service unavailable!!!
  • 504 gateway timeout,一般是ngix配置问题

    缓存机制

    强缓存

    不会发请求,直接根据资源的响应头取缓存里的资源

相关的header

  1. expires:客户端绝对时间,存在误差
  2. cache-control:相对时间

    协商缓存

    过程:如果请求头上的本地文件的修改时间(request-header:if-modified-since)和服务器上的文件的修改时间(response-header:last-modified)一样,说明文件没有修改过,服务器返回304,not modified,浏览器取缓存资源。

相关的header

  1. if-modified-since/last-modified:文件的修改时间
  2. if-none-match/etag:文件的hash值

分布服务器上协商缓存机制存在的问题

  1. 资源的last-modified必须保持一致
  2. 资源算出来etag不一样,存在问题

参考