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用缓存。

 

posted @ 2015-03-25 16:02  w0101  阅读(307)  评论(0编辑  收藏  举报