ASP.NET MVC中请求的日期标头

时间:2018-03-09 09:59:01

标签: asp.net asp.net-mvc http header asp.net-core-2.0

如何获取客户端首次创建服务器请求的日期?

客户端向服务器发送GET / POST请求 - >在服务器端,我在发送请求时提取日期

HttpContext.Request.Headers中有一个名为HeaderDate的属性,但在每个请求中它都是空的。

Here是我想要在服务器端获得的精确标头的描述。

P.S。我正在使用ASP.NET Core 2.0

1 个答案:

答案 0 :(得分:1)

除非网络非常差,否则在到达您的服务器之前,请求的创建时间不应超过一两秒(最多)。你准确的准确度如何?

无论如何,它取决于客户是否向您发送任何类似的信息。实际上https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html的规范说

  

客户端应该只在包含的消息中发送Date头字段   实体主体,如PUT和POST请求的情况,甚至是   那么它是可选的。没有时钟的客户端不得发送日期   请求中的标头字段。

所以换句话说,实际上建议不要在很多情况下发送这个标题。例如,GET请求几乎肯定不会包含它,除非相关客户违反了所述建议。

您最好只使用请求到达服务器的时间,并将其视为足够好。