为什么浏览器本身不赋予唯一状态以使无状态http变得唯一

时间:2018-09-27 02:50:24

标签: http browser stateless

这个想法突然浮现在脑海,我想讨论一下它的利弊。 目前,为了使无状态http唯一,在所有可能的选项中,cookies最为常用。在服务器端,当使用$_SERVER['HTTP_USER_AGENT']发出请求时,它返回一个字符串,该字符串经过硬编码并保持静态,直到浏览器本身不变为止。结果是类似

  

Mozilla / 5.0(Windows NT 6.1)AppleWebKit / 537.4(KHTML,例如Gecko)Chrome / 22.0.1229.94 Safari / 537.4

代替此,让我们考虑另一种方法

  

Mozilla / 5.0(Windows NT 6.1)AppleWebKit / 537.4(KHTML,如Gecko)Chrome / 22.0.1229.94 Safari / 537.4 d6199909d0b5fdc22c9db625e4edf0d6da2b113b21878cde19e96f4afe69e714

除了有关浏览器的所有常规信息之外,我们还有一个唯一的随机字符串。此唯一字符串应与浏览器中的每个打开的标签页相关,并应在浏览器中打开新标签页后自动生成。当服务器使用服务器端脚本语言中可用的方法进行请求时,客户端(浏览器)应返回常规信息以及此唯一字符串。我敢肯定,这比cookie更好。 与Cookie不同,它既不能用肉眼看到也不可以用Java脚本看到。

关闭浏览器中的选项卡后,编号消失,然后打开另一个选项卡,您将再次拥有一个带有新编号的新选项卡。唯一重要的是,这个数字应该足够大且独特。

如果其中有任何缺陷,请特别分享您对这个概念的看法。

0 个答案:

没有答案