MVC 中请求 ASP.NET 日期标头



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

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

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

这是我想在服务器端获得的确切标头的描述。

附言我正在使用 ASP.NET 酷睿2.0

除非网络非常差,否则请求很可能在到达您的服务器之前不超过一两秒(最多)。你到底想有多准确?

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

客户端应仅在包含以下内容的邮件中发送日期标头字段 一个实体机构,如 PUT 和 POST 请求的情况,甚至 那么它是可选的。没有时钟的客户端不得发送日期 请求中的标头字段。

因此,换句话说,在许多情况下,实际上建议不要发送此标头。例如,GET请求几乎肯定永远不会包含它,除非有问题的客户端违背了规定的建议。

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

最新更新