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://www.w3.org/pub/WWW/People.html

P3P

Platform for Privacy Preferences Project的缩写,表示本站点遵守P3P协议(标称本站点不会违法使用用户信息)并希望收集用户信息。不过P3P目前使用并不广泛,特别国内并不重视P3P。

P3P:CP=”your_compact_policy”。

Pragma

 在请求/响应链上附近的一些参数

Proxy-Authenticate

访问代理时需要使用的验证方式。

Proxy-Authenticate: Basic

Refresh

用于令客户端在指定N秒后转跳到另外一个URL。

Refresh:6,http://www.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: max-age=16070400; includeSubDomains

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,Pragma

 

主要 Cache-Control , Connection , Data , Pragma , 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(Pragma, 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));

 

 

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
响应(Response Header)是在HTTP请求中服务器返回给客户端的一部分信息,用于描述响应的各种属性和特征。以下是对响应的详细解释: 1. 状态行:状态行位于响应的第一行,包括协议版本、状态码和状态消息。协议版本指示使用的HTTP版本,状态码表示请求的处理结果,状态消息是对状态码的简短描述。 2. 服务器信息:响应包含服务器的信息,如服务器名称、软件版本等。这些信息可以帮助客户端了解正在与之通信的服务器环境。 3. 响应字段:响应中包含各种字段,用于描述响应的不同方面。常见的字段包括: - Content-Type:指定响应正文的媒体类型,如text/html、application/json等。 - Content-Length:指示响应正文的长度,以字节为单位。 - Cache-Control:指定客户端如何缓存服务器返回的响应。例如,max-age指示响应可被缓存的最长时间。 - Location:用于重定向响应,指定客户端应该请求的新URL。 - Set-Cookie:用于在响应中设置一个或多个Cookie,以在后续请求中保存状态信息。 - ETag:用于标识响应的内容,可用于缓存验证和重复请求的优化。 4. 其他字段:响应可能包含其他自定义的或特定于应用程序的字段,用于传递额外的信息。 响应的使用可以帮助客户端了解和处理服务器返回的响应。通过检查响应中的字段和值,客户端可以确定响应的类型、大小、缓存策略、重定向信息等,从而适当地处理响应内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值