我发现WebAPI将不同的HTTP响应标头放在不同的位置,一个在Response.Headers中,另一个在Response.Content.Headers中.例如,etag位于Response.Headers中,而lastModified位于另一个中.这背后的原因是什么?
Dar*_*ler 13
这个问题有几个答案.一个是因为这是HTTP规范定义头的方式.
RFC 2616
分离内容标题的另一个更实际的原因是,编写将数据处理成HTTP有效负载并设置相关标头的代码更容易,与请求/响应对象无关.
不幸的是,最近的HTTPbis规范对他们认为标题应该去的位置做了一些重组,现在LastModified和Allow被认为是响应字段,而不是内容字段.这意味着System.Net.HttpHeaders中定义的标头将不再符合规范,这非常糟糕.这也意味着我们可能会将LastModified作为HttpContent标头和Etag作为响应标头.
HTTPbis
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |