首页 > 其他分享 >HTTP 头信息解读

HTTP 头信息解读

时间:2022-12-18 13:31:13浏览次数:36  
标签:缓存 HTTP 请求 no 信息 解读 响应 头部 服务器

Http协议定义了很多与服务器交互的方法,最基本的有4种:

分别是:GET、POST、PUT和DELETE

一个URL地和于描述一个网络上的资源,而HTTP中的GET、POST、PUT和DELETE对应着对这个资源的查、改、增、删4个操作,常见的就是 GET/POST 了。

GET 一般用于获取/查询资源信息;

POST 一般用于更新资源信息;


HTTP头信息解读

HTTP的头域包括通用头请求头响应头实体头四个部分;

每个头域由一个域名,冒号(:)和域值三部分组成。如:​Connection: keep-alive

通用头部:是客户端和服务器都可以使用的头部,可以在客户端、服务器和其他应用程序之间提供一些通用功能。

比如:Date头部。

Date: Sun, 18 Dec 2022 04:19:05 GMT

请头头部:是请求报文特有的,它们为服务器提供了一些额外信息。

比如:Accept头部,客户端希望接收什么类型的数据。

Accept: */*

响应头部:便于给客户端提供信息。

比如:Server头部,客户端在与哪种类型的服务器交互。

Server:Apache/2.0.61 (Unix)

实体头部:指的是用于应对实体主体部分的头部。

比如:Content-Type头部,可以用实体头部来说明实体主体部分的数据类型。

Content-Type: application/json;charset:utf-8;


HTTP通用头

通用头域包含请求和响应消息都支持的头域,通用头域包含缓存头部 Cache-Control、Pragma以及信息性头部 Connection、Date、Transfer-Encoding、Update、Via。

1、Cache-Control

Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control 并不会修改另一个消息处理过程中的缓存处理过程。

请求时的缓存指令包括no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached;

响应消息中的指令包括public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。

各个消息中的指令含义如下:

no-cache:指示请求或响应消息不能缓存,实际上是可以存储在本地缓存区中的,只是在与原始服务器进行新鲜度验证之前,缓存不能将其提供给客户端使用。

no-store:缓存应该尽快从存储器中删除文档的所有痕迹,因为其中可能会包含敏感信息。

max-age:缓存无法返回缓存时间长于max-age规定秒的文档,若不超规定秒浏览器将不会发送对应的请求到服务器,数据由缓存直接返回;超过这一时间段才进一步由服务器决定是返回新数据还是仍由缓存提供。若同时还发送了max-stale指令,则使用期可能会超过其过期时间。

min-fresh:至少在未来规定秒内文档要保持新鲜,接受其新鲜生命期大于其当前 Age 跟 min-fresh 值之和的缓存对象。

max-stale:指示客户端可以接收过期响应消息,如果指定max-stale消息的值,那么客户端可以接收过期但在指定值之内的响应消息。

only-if-cached:只有当缓存中有副本存在时,客户端才会获得一份副本。

Public:指示响应可被任何缓存区缓存,可以用缓存内容回应任何用户。

Private:指示对于单个用户的整个或部分响应消息,不能被共享缓存处理,只能用缓存内容回应先前请求该内容的那个用户。


2、Pragma

Pragma头域用来包含实现特定的指令,最常用的是 Pragma:no-cache;

在HTTP/1.1协议中,它的含义和 Cache-Control:no-cache 相同。


3、Connection

Connection 表示是否需要持久连接。

如果 Servlet 看到这里的值为 “Keep-Alive”,或者看到请求使用的是 HTTP1.1(HTTP1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时,显著地减少下载所需要的时间。

Close:告诉Web服务器或者代理服务器,在完成本次请求的响应后,断开连接,不要等待本次连接的后续请求了。

Keepalive:告诉Web服务器或代理服务器,在完成本次请求的响应后,保持连接,等待本次连的后续请求。

Keep-Alive:如果浏览器请求保持连接,则该头部表明希望 WEB 服务器保持连接多长时间(单位:秒),如 Keep-Alive:300。


4、Date

Date头域表示消息发送的时间,服务器响应中要包含这个头部,因为缓存在评估响应的新鲜度时要用到,其时间的描述格式由RFC822定义。

例如:Date描述的时间表示世界标准时,换算成本地的时间,需要知道用户所在的时区。

Date:Mon, 31 Dec 2001 04:25:57 GMT




























标签:缓存,HTTP,请求,no,信息,解读,响应,头部,服务器
From: https://blog.51cto.com/ahuiok/5950866

相关文章

  • 源码解读之TypeScript类型覆盖检测工具type-coverage
    因为团队内部开启了一个持续的前端代码质量改进计划,其中一个专项就是TS类型覆盖率,期间用到了type-coverage这个仓库,所以借这篇文章分享一下这个工具,并顺便从源码阅读的角......
  • 网络信息安全 古典密码(仿射、PlayFair)DES RSA
     网络信息安全实验报告课程名称网络信息安全实验项目名称古典密码、对称密码、非对称密码实验时间(日期及节次)周五三、四节专业软件工......
  • Oracle-统计信息收集-TABLE
    在Oracle数据库,执行sql语句的时候,会根据统计信息选择最优执行计划,当执行性能比自己想象的慢时,就有可能是统计信息不是最新导致。表的统计信息主要包含表的总行数(num_rows)、......
  • HTTP对应状态码
    服务器–响应–客户端1、响应体Accept:告诉浏览器所支持的数据类型Accept-Encoding:表示浏览器支持的编码格式GBKUTF-8GB2312ISO8859-1Accept-Language:告诉浏览器的......
  • Oracle-统计信息收集-INDEX
    索引的统计信息主要包含索引blevel(索引高度-1)、叶子块的个数(leaf_blocks)以及集群因子(clustering_factor)。我们可以通过数据字典DBA_INDEXES查看索引的统计信息。创建索引......
  • abp vnext blog模块用户信息同步 源码解析
    先看一下Volo.Blogging.Domain引用的关于用户的项目只有Volo.Abp.Users.Domain,再看BlogUser定义:publicclassBlogUser:AggregateRoot<Guid>,IUser,IUpdateUserD......
  • C/C++校园超市商品信息管理系统
    C/C++校园超市商品信息管理系统实验14校园超市商品信息管理系统商品包含以下信息项:商品编号、商品名称、商品厂家名称、商品类型、商品销售价格商品进货价格、商品生产......
  • go http路由处理流程
    (1)type HandlertypeHandlerinterface{ServeHTTP(ResponseWriter,*Request)}该接口用于开发者能够实现自己的Handler,只要实现ServeHTTP(ResponseWriter,*Req......
  • Http 请求头与响应头 全部字段
    Http请求头:Accept 浏览器通过这个头,告诉服务器它所支持的数据类型Accept-Charset浏览器通过这个头,告诉服务器它采用的字符集Accept-Encoding浏览器通过这个头,告诉服......
  • 基于中国历代人物传记数据库对地方职官志信息的提取——以《甘肃全省新通志》为例
    一、理论:面临的主要问题和对策1、文本的识别针对竖排古籍文本的文字识别目前找不到较好的解决方法。许多支持竖排古籍文本识别的网站都有资源的配额限制,难以在较短时间内......