HTTP基础之响应首部字段篇(三)

今天主要来盘点一下HTTP首部标头里的响应标头。

响应标头

刚刚我们的着重点一直放在客户端请求,现在我们把关注点转换一下放在服务器上。响应首部字段是由服务器发送给客户端响应中所包含的字段,用于补充相应信息等,这部分标头也是非常多,我们先一起来看一下

HTTP基础之响应首部字段篇(三)

Accept-Ranges

Accept-Ranges HTTP响应标头,这个标头有两个值
●当服务器能够处理客户端发送过来的请求时,使用bytes 来指定
●当服务器不能处理客户端发来的请求时,使用none来指定

HTTP基础之响应首部字段篇(三)

Age

Age HTTP响应标头告诉客户端源服务器在多久之前创建了响应,它的单位为秒,Age 标头通常接近于0,如果是0则可能是从源服务器获取的,如果不是表示可能是由代理服务器创建,那么Age的值表
示的是缓存后的响应再次发起认证到认证完成的时间值。代理创建响应时必须加上首部字段Age。一般表示如下

HTTP基础之响应首部字段篇(三)

ETag

ETag对于条件请求来说真是太重要了。因为条件请求就是根据ETag的值进行匹配的,下面我们就来详细了解一下。
ETag响应头是特定版本的标识,它能够使缓存变得更高效并能够节省带宽,因为如果缓存内容未发生变更,Web服务器则不需要重新发送完整的响应。除此之外,ETag 能够防止资源同时更新互相覆盖。

HTTP基础之响应首部字段篇(三)
**如果给定URL上的资源发生变更,必须生成一个新的ETag 值,通过比较它们可以确定资源的两个表示形式是否相同。

ETag值有两种,一 种是强ETag,- -种是弱ETag;

●强ETag值,无论实体发生多么细微的变化都会改变其值,-般的表示如下**

HTTP基础之响应首部字段篇(三)
弱ETag值,弱ETag值只用于提示资源是否相同。只有资源发生了根本改变,产生差异时才会改变ETag值。这时,会在字段值最开始处附加W/。

HTTP基础之响应首部字段篇(三)

Location

Location响应标头表示URL需要重定向页面,它仅仅与3xx(重定向) 或201(已创建) 状态响应一起使用。下面是一个页面重定向的过程

HTTP基础之响应首部字段篇(三)
使用首部字段Location可以将响应接受方引导至某个与请求URI位置不同的资源。

Location

和content-Location 是不一样的: Location 表示目标的重定向(或新 创建资源的URL)。 然而Content-L ocation表示发生内容协商时用于访问资源的直接URL,而无须进一步协商。
Location是与响应相关联的标头,而Content-L ocation与返回的实体相关联。

HTTP基础之响应首部字段篇(三)

Proxy-Authenticate

HTTP响应标头Proxy-Authenticate 会定义认证方法,应该使用身份验证方法来访问代理服务器后面的资源即客户端。

它与HTTP客户端和服务端之间的访问认证行为相似,不同之处在于Proxy- Authenticate 的认证双方是客户端与代理之间。它的一般表示形式如下
HTTP基础之响应首部字段篇(三)

Retry-After

HTTP响应标头Retry-After告知客户端需要在多久之后重新发送请求,使用此标头主要有如下三种情况
●当发送503(服务不可用)响应时,这表示该服务预计无法使用多长时间。
●当发送429(太多 请求)响应时,这表示发出新请求之 前要等待多长时间。
●当发送重定向的响应像是301(永久移动),这表示在发出重定向请求之前要求用户客户端等待的最短时间。
字段值可以指定为具体的日期时间,也可以是创建响应后所持续的秒数,例如

HTTP基础之响应首部字段篇(三)

Server

服务器标头包含有关原始服务器用来处理请求的软件的信息。
应该避免使用过于冗长和详细的Server值,因为它们可能会泄露内部实施细节,这可能会使攻击者容易地发现并利用已知的安全漏洞。例如下面这种写法

HTTP基础之响应首部字段篇(三)

Vary

Vary HTTP响应标头确定如何匹配请求标头,以决定是否可以使用缓存的响应,而不是从原始服务器请求一一个新的响应。

HTTP基础之响应首部字段篇(三)

www-Authenticate

HTTP WWW-Authenticate 响应标头定义了应用于获得对资源的访问权限的身份验证方法。WWW-Authenticate标头与401未经授权的响应一起发送。它的一-般表示形式如下

HTTP基础之响应首部字段篇(三)

Access-Control-Allow-Origin

一个返回的 HTTP标头可能会具有Access-Control-Allow-Origin,
Access -Control-Allow-Origin指定一个来源,它告诉浏览器允许该来源进行资源访问。否则-对于 没有凭据的请求*通配符,告诉浏览器允许任何源访问资源。例如,要允许源https: //mozilla. org的代码访问资源,可以指定:

HTTP基础之响应首部字段篇(三)
如果服务器指定单个来源而不是 通配符的话,则服务器还应在Vary响应标头中包含Origin ,以向客户端指示服务器响应将根据原始请求标头的值而有所不同。*

资料参考:
《图解HTTP》
相关博客

学习是条漫长的过程,应当坚持不懈,不断努力,对生活有态度,对技术有追求。