在按返回键后的第一个GET和重复的GET之间进行区分

时间:2018-06-25 12:57:31

标签: asp.net web back-button

我正在与一个可配置项目的电子商务网站合作。当用户到达项目配置器的第一步(带有GET请求)时,除非URL查询字符串包含{{1},否则假定他开始配置新项目(而不是编辑先前配置的项目)。 }。

但是,当用户在第2步并按下浏览器的“后退”按钮时,我还希望用户继续编辑可配置项,而不是配置新项。

这对于第3步及以后的步骤来说不是问题,因为当用户到达这些步骤时,请求是edit=1而不是POST

如何(在服务器端)区分首次执行GET请求的用户和按下浏览器的“后退”按钮的时间?

当涉及到具有Cache-control标头时,这两个GET请求之间似乎有所不同,但是我无法仅凭此可靠地区分这两个请求。

请注意,所描述的行为在浏览器之间有所不同:Chrome和IE在按下后退按钮时重复第一个GET请求; Firefox似乎无需请求即可从缓存中检索所有内容。

编辑:我意识到我可以使用javascript将第一个GET转换为帖子,但是这种GET-POST模式感觉像是一个可怕的骇客,并且需要浏览器的额外请求。

GET

0 个答案:

没有答案