常见http请求报文头属性
Accept:告诉服务端,客户端接受什么类型的响应,例如:
Accept:text/plan 表示纯文本
Accept的值可以是一个或多个midia type
midia type介绍: https://en.wikipedia.org/wiki/Media_type
cookie:客户端的cookie通过这个报文头属性传递给服务端。
cookie中有一个sessionid类似的属性,将cookie于session绑定起来。
referer:表示这个请求是从哪个url过来的。
cache-control:对缓存进行控制。
如下:Ca-Control:no-cache 不要在客户端缓存
如果没有选择no-cache,Cache-Control有两种选择:
max-age>0 直接从浏览器缓存读取
Max-age<=0 向服务器发送http请求,根据请求头判断该资源是否有修改,有的话返回200,无返回304
常见响应状态码:
200:请求成功
303:See Other redirect到其他页面
304:Not Modified
如果返回状态码304,表示这是个条件请求。请求头中有两个参数:if-Modified-Since和if-None-Match。
当浏览器中缓存了目标资源但不确定该资源是否是最新版本时候,会发送一个条件请求。包含请求头if-Modified-Since,他的值是服务器上次
返回的响应头中的Last-Modified值,还会提供一个if-None-Match请求头,值为服务器上次返回的ETag响应头的值。服务器会校验这两个请求头
的值,判断客户端缓存的值是否是最新的。
500 :Internal Server Error
服务器错误,去改bug吧
常见Http响应报文头属性:
cache-control:告诉客户端对缓存该如何控制控制。
如下:max-age=3600 告诉客户端缓存3600秒,也就是在3600秒内,客户端再次访问会直接从缓存中读取。
ETag:一个响应服务端资源版本的报文头属性,如果服务端资源改变了,这个ETag会相应发生变化。是Cache-Control的有益补充。
Location:我们在jsp中如果想让页面Redirect到A页面中,其实是让客户端再发一个请求到A页面,这个需要Redirect到A页面的URL,就是通过响
应报文头的Location属性告知客户端的。