美文网首页
常用HTTP状态码以及客户端缓存

常用HTTP状态码以及客户端缓存

作者: cutecat | 来源:发表于2019-04-06 23:45 被阅读0次

常用状态码

200 请求返回成功
301 永久重定向
302 临时重定向
304 资源未更改(对应笔记中客户端缓存)
400 客户端代码错误
401 未认证
403 forbidden,服务端理解客户端的请求,但拒不执行
404 页面,资源找不到
405 请求方法不被允许
500 服务端不可预知的错误
502 bad gateway 网关请求服务器拿到无效返回
503 系统当前不可用
504 服务器超时

由304引出的客户端缓存

HTTP1.0时使用expires来保存失效时间,当响应头有这个字段时,浏览器强制缓存,即,下次再访问这个文件,直接从缓存中读取,不向服务器发送请求
缺点:这个时间是服务端返回的服务端时间,客户端时间与服务端时间可能不一致

HTTP1.1时使用cache-control作为是否缓存以及缓存策略的字段
cache-control:
1. no-store 不进行任何形式缓存
2. no-cache 不直接使用缓存,其实在浏览器是存储了的,进程内存/硬盘,需要请求服务端进行校验资源是否修改,未修改则返回304,空body,使用缓存,不然,重新返回响应体,状态码200 协商缓存
3. max-age 这个时间之内都可以直接从缓存中获取,不用重新请求,强缓存
4. private 只能客户端缓存,不允许代理服务器进行缓存
5. public 都可以进行,客户端以及代理服务器,如cdn
返回的max-age = 0与no-cache等价,都是每次都去服务器校验更新状态

浏览器请求过程
浏览器第一次访问请求,服务器返回Last-Modified(服务器最后修改文件的时间),Etags(当前文件的版本),如果是no-cache或max-age则将响应体和缓存标识存入浏览器缓存中
第二次请求,max-age直接从缓存中获取数据,no-cache从缓存中获取标识去请求服务端,字段为if-modified-since和if-None-Match,先校验if-None-Match与服务器etags,再校验if-modified-since,如果没有更改,则返回标识和空的响应体,状态码304,资源未改变,不然返回200及新的缓存标识和响应数据
使用if-modified-since缺点
1. 如果资源修改时间更新了,但是内容没有修改,那么达不到缓存的目的
2. 如果资源在毫秒之间更改,但是缓存的last-modified时间保存的是秒,这时候是不应该使用缓存的

强缓存:减少请求,就减少了带宽时间,强缓存未失效的话返回状态码永远是200
协商缓存:请求数不变,但是304状态只会返回空的响应体,节省传输时间

相关文章

  • 常用HTTP状态码以及客户端缓存

    常用状态码 200 请求返回成功301 永久重定向302 临时重定向304 资源未更改(对应笔记中客户端缓存...

  • HTTP状态码(2xx,3xx,4xx,5xx)

    HTTP状态码负责表示客户端请求的返回结果,标记服务器的处理结果。 HTTP常用状态码分为5种: 2XX200 (...

  • HTTP状态码有哪些

    常用得 HTTP状态码: 100-客户端继续发送请求 200-请求成功 301-重定向 ...

  • 图解HTTP解析5(状态码与通信数据名词)

    一、状态码 HTTP响应报文的响应行会返回HTTP状态码,这些状态码代表HTTP请求的返回结果。标记客户端是否处理...

  • 常用HTTP 状态码

    状态码的分类1XX:Infomational(信息性状态码)接收的请求正在处理2XX:Success(成功状态码)...

  • HTTP常用状态码

    1. 2XX 成功 200 OK表示从客户端发来的请求在服务器端被正常处理了 204 No Content代表服务...

  • http常用状态码

    本质 HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。 1X...

  • HTTP常用状态码

    100:继续 客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。10...

  • 常用http状态码

    1开头,信息,服务器收到请求,需要请求者继续执行操作 100(继续),客户端应继续其请求 101(切换协议),服务...

  • http常用状态码

    100~199:指示信息,表示请求已接收,继续处理200~299:请求成功,表示请求已被成功接收、理解、接受300...

网友评论

      本文标题:常用HTTP状态码以及客户端缓存

      本文链接:https://www.haomeiwen.com/subject/ffxjiqtx.html