asp.net - ASP.NET MVC 中请求的日期 header

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

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

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

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

Here是我想在服务器端获取的确切 header 的描述。

附言我正在使用 ASP.NET Core 2.0

最佳答案

除非网络很差,否则创建请求的时间可能不会超过一两秒(最多),然后它就会到达您的服务器。您希望精确到什么程度?

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

Clients SHOULD only send a Date header field in messages that include an entity-body, as in the case of the PUT and POST requests, and even then it is optional. A client without a clock MUST NOT send a Date header field in a request.

换句话说,在很多情况下实际上建议不要发送此 header 。例如,GET 请求几乎肯定不会包含它,除非有问题的客户反对规定的建议。

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

关于asp.net - ASP.NET MVC 中请求的日期 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49191113/

相关文章:

asp.net - 需要帮助选择新的 .net 框架来创建非常薄的 RESTful 服务

c# - 更改 gridview 单元格中特殊单词的前景色

css - anchor 标签高度不适合 TD

asp.net - 浏览器何时删除 session cookie?

c# - 为什么 HttpException.GetHttpCode() 返回一个 int 而不是 System.Net.HttpStatusCode?

asp.net - 带有借记卡号的 Paypal 显示无效的卡号

asp.net-mvc - 如何为 MVC 创建具有一对多关联的假存储库

c# - 如何在 asp.net mvc 中使用 {SiteName} 处理 [Authorize]

asp.net-mvc - 以 Web 服务为模型的 ASP.Net MVC?

java - 如何验证发送 POST 请求的应用程序的身份