Http 在POST后使用303重定向以避免;网页已过期";:如果GET请求所能处理的字节数超过了字节数,它会工作吗?

Http 在POST后使用303重定向以避免;网页已过期";:如果GET请求所能处理的字节数超过了字节数,它会工作吗?,http,Http,我想解决“网页已过期”的问题。首先,我刚刚将POST更改为GET,但这导致了一个错误,即我的HTTP请求超过了GET的最大大小 所以,现在我想尝试一下下面链接(post,303,redirect)中描述的技术,但是我仍然会遇到同样的大小限制问题吗 我好像在挑你的毒药 编辑更多详细信息: 我“发布”的是搜索条件。服务器用搜索结果进行响应。表单上有很多控件,如果用户添加了自定义字段,则会有更多控件,而ASP.NET的“Viewstate”会添加更多字节。使用HTTP 303响应时,通常会重定向到不

我想解决“网页已过期”的问题。首先,我刚刚将POST更改为GET,但这导致了一个错误,即我的HTTP请求超过了GET的最大大小

所以,现在我想尝试一下下面链接(post,303,redirect)中描述的技术,但是我仍然会遇到同样的大小限制问题吗

我好像在挑你的毒药

编辑更多详细信息:


我“发布”的是搜索条件。服务器用搜索结果进行响应。表单上有很多控件,如果用户添加了自定义字段,则会有更多控件,而ASP.NET的“Viewstate”会添加更多字节。

使用HTTP 303响应时,通常会重定向到不包含发布信息的URL。这样您就不会遇到相同的URL大小限制问题。例如,下面可能是一个示例:

Client: GET /list Server: 200 OK [user clicks Delete button on item 5] Client: POST /delete?id=5 Server: 303 See other (Location: /list) Client: GET /list Server: 200 OK 客户:获取/列出 服务器:200好 [用户单击项目5上的删除按钮] 客户:发布/删除?id=5 服务器:303请参阅其他(位置:/list) 客户:获取/列出 服务器:200好 浏览器不会显示帖子的结果,但会立即重定向到
位置:
标题中列出的URL

  • 将发布的数据存储在服务器上
  • 重定向到
    /page?id=数据的唯一id

  • 基本上是将它们存储在会话中。但是,如果您使用自己的存储机制并为每篇文章生成新的ID,它将与多个打开的窗口(windows共享Cookie,因此是会话)一起很好地工作。

    Greg-谢谢。我编辑了这个问题以添加更多细节。我不确定,我可能有误解,但我认为你的回答不适合我的情况。我不明白你的答案如何让我避免这两种毒药。从语义上讲,搜索的正确HTTP请求类型应该是GET。你没有在网站上添加或更改任何信息,所以发布不是正确的做法。您选择使用POST是因为URL的大小受到限制,而不是出于语义原因。我建议,如果你的URL对于GET来说太长,那么你只是在搜索表单上有太多的字段(几十个?几百个?)。我会考虑重新考虑你的应用程序设计,以减少字段的数量,这样你就可以继续使用GET请求。(我知道你会说……)我真的很感激你花时间来帮助。我不是忘恩负义。但我的想法是:我的用户没有告诉我“搜索表单上的字段太多”。用户喜欢这个设计。我不想扔掉他们喜欢的东西。而且,我的用户也不关心“语义上正确的…”部分,他们也不应该关心。他们只关心页面的外观和行为。我想克服纯粹的技术障碍,实现他们想要的行为。改变行为将是失败的。我不敢相信你在网站的前端代码中有你的SQL查询。。。查看来源: