HTTP请求与响应(浏览器缓存是怎么做到的)

请求:请求是由浏览器生成的,包括:

<request-line>请求类型(get/post)、访问的资源、http版本

<head>

<blank-line>

<body>

四个部分组成。其中头部信息包括:host,userAgent,connection,content-type(请求的编码方式),content-length,accept(接受的MIME类型),accept-charset,accept-Encoding,cookie,If-Modified-Since,pragma,referer(是从哪个页面跳转过来的)

响应是由服务器生成的,包括:

<status-line>

<head>

<blank-line>

<body>

其中head规定了catch-control,Date(响应的时间),LastModified,Etag

 

缓存是这样一个机制:

浏览器想请求一个资源-》查看缓存,发现资源过期了-》发现资源有lastModified和Etag->请求头部带上If-modified-since和If-None-Match-》服务器判定资源是不是修改过-》决定200重新发送还是304用缓存。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。