http 协议

状态码

重要的 HTTP 状态码分析

400(请求错误) 服务器不理解请求的语法。 401 (未授权)请求要求身份验证。对于登录后请求的网页,服务器可能返回此响应。 403 (禁止)服务器拒绝请求 404(未找到)服务器找不到请求的网页

500 (服务器内部错误)服务器遇到错误,无法完成请求。 502 (错误网关)服务器作为网关或代理,从上游服务器收到无效响应。 503 (服务不可用)服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。 504 (网关超时)服务器作为网关或代理,但是没有及时从上游服务器收到请求。 505 (HTTP 版本不受支持)服务器不支持请求中所用的 HTTP 协议版本。

http 缓存请求响应头

1.Cache-Control 请求/响应头,缓存控制字段,可以说是控制 http 缓存的最高指令,要不要缓存也是它说了算。 它有以下常用值    1.1 no-store:所有内容都不缓存    1.2 no-cache:缓存,但是浏览器使用缓存前,都会请求服务器判断缓存资源是否是最新,它是个比较高贵的存在,因为它只用不过期的缓存。    1.3 max-age=x(单位秒) 请求缓存后的 X 秒不再发起请求,属于 http1.1 属性,与下方 Expires(http1.0 属性)类似,但优先级要比 Expires 高。    1.4 s-maxage=x(单位秒) 代理服务器请求源站缓存后的 X 秒不再发起请求,只对 CDN 缓存有效(这个在后面会细说)    1.5 public 客户端和代理服务器(CDN)都可缓存    1.6 private 只有客户端可以缓存 2.Expires 响应头,代表资源过期时间,由服务器返回提供,GMT 格式日期,是 http1.0 的属性,在与 max-age(http1.1)共存的情况下,优先级要低。 3.Last-Modified 响应头,资源最新修改时间,由服务器告诉浏览器。 4.if-Modified-Since 请求头,资源最新修改时间,由浏览器告诉服务器(其实就是上次服务器给的 Last-Modified,请求又还给服务器对比),和 Last-Modified 是一对,它两会进行对比。 5.Etag 响应头,资源标识,由服务器告诉浏览器。 6.if-None-Match 请求头,缓存资源标识,由浏览器告诉服务器(其实就是上次服务器给的 Etag),和 Etag 是一对,它两会进行对比。