http协议的消息头的用法作用

时间:2022-06-01 20:56:13

1.请求消息

若干消息头:从第二行开始到第一个空行。作用:向服务器传递客户端的一些基本信息
a、Accept:浏览器可接受的MIME类型(Tomcat安装目录/conf/web.xml中查找)
b、Accept-Charset:告知服务器,客户端支持哪种字符集
c、Accept-Encoding:浏览器能够进行解码的数据编码方式
d、Accept-Language:浏览器支持的语言。
e、Referer:当前页面由哪个页面访问过来的。
f、Content-Type:内容类型
g、Content-Length:请求正文的长度


2.响应消息

若干消息头:从第二行开始到第一个空行
a、Location:制定转发的地址。需与302/307响应码一同使用(重定向)

/**
 *方式一:更接近服务器响应浏览器的过程
 */
response.setStatus(302)
response.setHeader("location","http://www.changjiang.com/TestServlet");


b、Server:告知客户端服务器使用的容器类型
c、Content-Encoding:告知客户端服务器发送的数据所采用的压缩格式,默认gzip格式

response.addheader("Content-Encoding","gzip");//浏览器默认解压的类型
d、Content-Length:告知客户端正文的长度
e、Content-Type:告知客户端正文的MIME类型
Conent-Type:text/html;charset=UTF-8

设置响应头告知客户端编码方式:

response.setHeader(“Content-type”, “text/html;charset=UTF-8”);//告知浏览器数据类型及编码


f、Refresh:定期刷新。还可以刷新到其他资源

response.setHeader("refresh", "2");
response.setHeader("refresh", "0;url=1.html");

Refresh:3;URL=otherurl
3妙后刷新到otherurl这个页面
g、Content-Disposition:指示客户端以下载的方式保存文件。
Content-Disposition:attachment;filename=2.jpg

下载名字如果为中文时:

response.setheader("Content-Disposition","attachment;filename="+URLEncoder.encode(filename,"UTF-8"));

h、Expires:-1
  Cache-Control:no-cache
  Pragma:no-cache
控制客户端不要缓存:
response.addHeader("Pragma", "no-cache"); 
response.setHeader("Cache-Control", "no-cache"); 
response.setHeader("Expires", "0");

定时缓存

response.setDateHeader(“Expires”, System.currentTimeMillis()+1000*60*60);//缓存1小时

这些都是请求的消息头和服务器返回的消息头

其中请求的消息头就是,

客户端:http.addheader("消息头","具体类型");

服务端:返回response.addheader("消息头","具体类型");