【发布时间】:2017-10-21 23:25:30
【问题描述】:
我需要强制客户端重试其请求(意味着再发送一次相同的请求)。我在想的是带有状态码307 和标题Location: <original-url> 的响应(现在已经足够好了,除非有更好的方法)。
我的问题是,从 HTTP 规范的角度来看,Location 在此特定上下文中的正确值是多少。或者更具体地说,在具有HttpServletRequest 类型的request 的Java 中,我应该使用哪个:getRequestURI(返回此请求的 URL 的一部分,从协议名称到 HTTP 请求第一行中的查询字符串)或getRequestURL(重构客户端用于发出请求的 URL,包含协议、服务器名称、端口号和服务器路径,但不包括查询字符串参数)。
感谢任何其他建议/评论。
【问题讨论】:
-
这肯定需要更多信息:你想强制客户端刷新内容吗?还是在排队处理?
-
一点上下文:服务器无法处理请求,因为它正在关闭。但是,如果客户端关闭连接并打开一个新连接并发送相同的请求(相同的方法、标头、正文、所有内容),他将连接到另一个正在运行的服务器。请参阅我对朱利安回答的评论。
标签: java http web http-headers