Response的Header属性详解
Response的Header属性详解
一、Header属性
二、Header属性分类
1、通用信息头
2、请求头
3、响应头
4、实体头
5、扩展头
三、Response设置Header属性
1、控制浏览器禁止缓存当前文档内容
2、控制浏览器过期的时间期限
3、设置http响应头控制浏览器定时刷新网页(refresh)
4、设置http响应头控制浏览器定时跳转到其它页面
5、设置http响应头文件下载
一、Header属性
属性 | 备注 |
Access-Control-Allow-Origin | 该站点可以被哪些网站进行 跨域资源共享
Access-Control-Allow-Origin: http://example.com:8080 http://foo.example.com Access-Control-Allow-Origin:* |
Accept-Ranges | 服务器是否支持资源范围请求
资源范围请求?指按byte为单位?请求资源的某一段数据 例如请求一个文件的200byte—400byte的数据 Accept-Ranges?bytes 表示该资源支持byte形式资源范围请求 Accept-Ranges?none则表示不支持 |
Age | 一个资源存在于代理中 缓存的时间?单位是秒 |
Allow | 一个资源允许哪些HTTP方法进行请求
Allow: GET, HEAD Allow:* |
Cache-Control | 对缓存的控制 |
Connection | 连接方式
Connection:keep-alive Connection:close |
Content-Encoding | 服务器对响应数据的编码方式?但这里的编码方式不同于编码字符集(GB2312,UTF-8等)?而是(通常)指压缩方式
Content-Encoding:gzip |
Content-Language | 响应数据的自然语言
Content-Language:ZH-CN |
Content-Length | 响应数据的数据长度?单位是byte
Content-Length:1024 |
Content-Location | |
Content-MD5 | 基于base64编码的回应数据的MD5校验和
Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ== |
Content-Disposition | 当客户端请求的资源是一个可下载的资源=这里的“可下载”是指浏览器会弹出下载框或者下载界面=时=对这个可下载资源的描述=例如下载框中的文件名称=就是来源于该头域。
Content-Disposition: attachment; filename=”some_app.exe” |
Content-Range | 如果当前这个响应数据是整个资源的一部分时=是具体的哪一部分=从第几byte到第几byte=。
在请求中=客户端可以通过设定”Range”头域来通知服务器其只想请求整个资源中某一段数据=而对应的=当服务器响应这种请求=并发送某一段数据到客户端的时候=必须通过Content-Range头来告诉客户端当前的响应数据是整个资源的第几byte到第几byte。这个在资源的分段下载和续点下载应用中很有用。 Content-Range:500-900 |
Content-Type | 服务器告诉浏览器它发送的数据属于什么文件类型=也就是响应数据的MIME类型
Content-Type: text/html; charset=utf-8=让浏览器把接收到的实体内容以HTML格式解析 Content-Type: text/plain; charset=utf-8=让浏览器把接收到的实体内容以普通文本解析 |
Date | 响应消息发送的GMT格式日期
Date: Tue, 15 Nov 1994 08:12:31 GMT |
ETag | 资 资源的一个标识=类似于key-value pair=键值对=中的key。
ETag通常用于校验一个资源实体有没有被修改过。 在数据缓存和PUT方法更新资源时候有用处。 ETag: “737060cd8c284d8af7ad3082f209582d” |
Expires |
告诉客户端该响应数据会在指定的时间过期=通常用于给客户端缓存作为参考。 Expires: Thu, 01 Dec 1994 16:00:00 GMT |
Last-Modified | 客户端所请求的资源的较后修改时间。 |
Link | 描述当前被请求的资源和另外一个资源的关系。这种关系被定义在RFC5988。
Link: ; rel=”alternate” |
Location | 用户通知客户端转跳(重定向)到另一个URL
Location: http://**.w3.org/pub/WWW/People.html |
P3P | Platform for Privacy Preferences Project的缩写=表示本站点遵守P3P协议(标称本站点不会违法使用用户信息)并希望收集用户信息。不过P3P目前使用并不广泛=特别国内并不重视P3P。
P3P:CP=”your_compact_policy”。 |
Prag** | 在请求/响应链上附近的一些参数 |
Proxy-Authenticate | 访问代理时需要使用的验证方式。
Proxy-Authenticate: Basic |
Refresh | 用于令客户端在指定N秒后转跳到另外一个URL。
Refresh:6,http://**.google.com.hk 6秒后转跳到google |
Retry-After | 用于因为某些原因=例如该资源暂时无效=通知客户端在指定时间后重新尝试请求=时间单位为秒。
Retry-After:60 一分钟后重新尝试请求该资源。 |
Server | 服务器的名称
Server: Apache/2.4.1 (Unix) |
Set-Cookie | 对客户端设置cookie
Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1 |
Strict-Transport-Security | 用于指示客户端如何对HTTPS进行缓存=缓存多长时间=以及是否对子域生效。
Strict-Transport-Security: **x-age=16070400; includeSubDo**ins |
Trailer | 当响应资源已chunked编码传输时=每个Chunked-Body尾部的额外数据。 |
Transfer-Encoding | 响应内容的传输编码方式=通常有 chunked, deflate, gzip等。 |
Vary | 用来指示缓存代理=例如squid=根据什么条件去缓存一个请求。
Vary: Accept-Encoding Vary: Accept-Encoding,User-Agent Vary: X-Some-Custom-Header,Host Vary: |
Via | 告诉客户端=该回应经历了那些代理。
Via: 1.0 example1.com, 1.1 example2.com (Apache/1.1) |
WWW-Authenticate | 表示当前是用什么验证方式访问一个资源。
WWW-Authenticate:base |
二、Header属性分类
1、通用信息头
即能用于请求消息中,也能用于响应信息中,但与被传输的实体内容没有关系的信息头,如Data,Prag**
主要 Cache-Control , Connection , Data , Prag** , Trailer , Transfer-Encoding , Upgrade
2、请求头
用于在请求消息中向服务器传递附加信息,主要包括客户机可以接受的数据类型,压缩方法,语言,以及客户计算机上保留的信息和发出该请求的超链接源地址等.
主要 Accept , Accept-Encoding , Accept-Language , Host ,
3、响应头
用于在响应消息中向客户端传递附加信息,包括服务程序的名称,要求客户端进行认证的方式,请求的资源已移动到新地址等.
主要 Location , Server , WWW-Authenticate(认证头)
4、实体头
用做实体内容的元信息,描述了实体内容的属性,包括实体信息的类型,长度,压缩方法,较后一次修改的时间和数据的有效期等.
主要 Content-Encoding , Content-Language , Content-Length , Content-Location , Content-Type
5、扩展头
主要=Refresh, Content-Disposition
三、Response设置Header属性
1、控制浏览器禁止缓存当前文档内容
response.setDateHeader(expries, -1);
response.setHeader(Cache-Control, no-cache);
response.setHeader(Prag**, no-cache);
2、控制浏览器过期的时间期限
response.setDateHeader(Expires, System.currentTimeMillis()+自己设置的时间期限);
3、设置http响应头控制浏览器定时刷新网页(refresh)
设置refresh响应头控制浏览器每隔5秒钟刷新一次
response.setHeader(refresh, 5);
4、设置http响应头控制浏览器定时跳转到其它页面
设置refresh响应头控制浏览器隔2秒后跳转到其它页面
response.setHeader(refresh,2;URL=otherPagename);
5、设置http响应头文件下载
response.setHeader(Content-Disposition, attachment; filename= + java.net.URLEncoder.encode(fileName, UTF-8));
转载:感谢您阅览,转载请注明文章出处“来源从小爱孤峰知识网:一个分享知识和生活随笔记录的知识小站”。
链接:Response的Header属性详解http://www.gufeng7.com/niaolang/1925.html
联系:如果侵犯了你的权益请来信告知我们删除。邮箱:119882116@qq.com
上一篇: 什么是 MQTT 协议