如何获取客户端首次创建服务器请求的日期?
客户端向服务器发送GET / POST请求 - >在服务器端,我在发送请求时提取日期
HttpContext.Request.Headers
中有一个名为HeaderDate
的属性,但在每个请求中它都是空的。
Here是我想要在服务器端获得的精确标头的描述。
P.S。我正在使用ASP.NET Core 2.0
答案 0 :(得分:1)
除非网络非常差,否则在到达您的服务器之前,请求的创建时间不应超过一两秒(最多)。你准确的准确度如何?
无论如何,它取决于客户是否向您发送任何类似的信息。实际上https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html的规范说
客户端应该只在包含的消息中发送Date头字段 实体主体,如PUT和POST请求的情况,甚至是 那么它是可选的。没有时钟的客户端不得发送日期 请求中的标头字段。
所以换句话说,实际上建议不要在很多情况下发送这个标题。例如,GET请求几乎肯定不会包含它,除非相关客户违反了所述建议。
您最好只使用请求到达服务器的时间,并将其视为足够好。