http头部常见信息

准备写一个http类型的服务器,基于应用层,知识查看于https://www.php.cn/manual/view/35624.html

ETag 

HTTP 响应报头为资源的特定版本的标识符。它允许缓存更高效,并节省带宽,因为如果内容没有改变,Web 服务器不需要发送完整的响应。另一方面,如果内容发生了变化,etags 有助于防止资源的同时更新互相覆盖(“空中冲突”)。

如果给定 URL 处的资源发生更改,则Etag必须生成新值。因此,Etags 与指纹相似,也可能用于某些服务器的跟踪目的。它们的比较可以快速确定资源的两个表示是否相同,但它们也可能被设置为无限期地由跟踪服务器持续存在。

语法:

ETag: W/""ETag: ""

Last-Modified

响应HTTP报头包含在其原始服务器认为该资源的最后修改日期和时间。它被用作验证器来确定接收或存储的资源是否相同。不如ETag标题准确,它是一种回退机制。包含条件请求If-Modified-SinceIf-Unmodified-Since标题使用此字段。

Date

语法:
Date:    :: GMT

 

通用 HTTP 报头包含在该消息起源的日期和时间。

LocationContent-Location

Location指示重定向的 URL ,同时Content-Location指示用于访问资源的直接 URL ,而未来未进一步内容协商。

Location是与响应关联的头部,Content-Location与返回的数据相关联。没有示例,这种区分看起来很抽象。

Content-Length

实体报头指示该实体主体的大小,以字节为单位的十进制数,发送到接收方

 

If-Range 

HTTP 请求报头使得范围请求的条件:如果条件被满足,该范围的请求将被发出,并且服务器发送回一个206 Partial Content与适当的身体的答案。如果条件未满足,则会返回具有200 OK状态的完整资源。

这个头文件可以与Last-Modified验证器一起使用,也可以与一个ETag,但不与两者一起使用。

最常见的用例是恢复下载,以确保自从收到最后一个片段后,存储的资源未被修改。

 

Content-Range

响应的 HTTP 报头指示其中一个完整的身体信息的部分消息所属。

Content-Range: bytes 200-1000/67589
Content-Range:  -/Content-Range:  -/*
Content-Range:  */

比如我使用分块传输,文件上传下载,则需要content-range配合206状态码使用。

Transfer-Encoding

头指定用于将安全地传输编码的形式的实体提供给用户。

常用的比如chunked ,数据以一系列块的形式发送。该Content-Length标题省略在这种情况下,并在每个需要添加十六进制格式的当前块的长度,其次是块“的开始\r\n”,然后是块本身,紧接着又“ \r\n”。终止块是一个常规块,除长度为零外。其后是拖车,它由一个(可能是空的)实体标题字段序列组成。compress使用 Lempel-Ziv-Welch(LZW)算法的格式。值名取自实施此算法的 UNIX 压缩程序。

 

 

你可能感兴趣的:(C/C++,数据结构)