使用Cookie进行浏览器通信

时间:2009-05-29 15:33:00

标签: cookies

我打算使用Cookie在两个浏览器窗口之间进行通信。我想知道是否有任何我无法想到的缺点。服务器端不需要数据,因此通过cookie进行的通信应该足够用于此目的。我错过了什么或者这样可以使用吗?

我知道限制是4K。大约4k的文字多少钱?说我想存储MD5 / SHA字符串。我可以在一个cookie中存储多少个这样的md5字符串?

非常感谢你的时间。

3 个答案:

答案 0 :(得分:5)

  • 显而易见的是,用户可能已在其浏览器中禁用了Cookie ...
  • 4K的文字多少钱?关于这一点(由Lipsum Generator提供):

Lorem ipsum dolor坐下来,精神上的精神。 Duis quam quam,bibendum坐在艾美斯的身份,suscipit vel mi。 Integer est lacus,blandit vel accumsan non,lobortis eget purus。 Nunc non felis nec justo ullamcorper suscipit。 Vestibulum dapibus lobortis semper。 Quisque mollis,lectus non porta semper,quam sapien adipiscing erat,in tincidunt risus lacus et felis。 Vivamus pellentesque,massa in varius cursus,lorem tortor vehicula velit,et commodo neque sapien eget felis。 Morbi iaculis condimentum lorem nec iaculis。 Vivamus sem ligula,vestibulum id tempus scelerisque,aliquam non velit。整数ac sapien lorem,sed egestas ligula。 Nam tristique tortor id odio imperdiet fermentum sed sit amet nisl。 Aliquam in tortor ligula,dignissim iaculis libero。在convallis nisi,fusce ut tortor ante。

Curabitur accumsan condimentum turpis,tincidunt fringilla nibh hendrerit vitae。 Aliquam ac arcu nibh,eget viverra dui。 Sed a nisi nibh,ut interdum orci。 Suspendisse laoreet sollicitudin libero ac fermentum。 Curabitur ultrices enim坐在dapibus libero iaculis中的amet massa mollis。在enim elit,mattis eget vestibulum at,faucibus at felis。 Sed ultrices posuere libero,id consectetur nibh lacinia vel。 Maecenas non mi eu dui sodales commodo et a mi。 Aliquam erat volutpat。前庭intertium,lectus eget cursus elementum,ligula metus iaculis libero,ac accumsan sapien eros vitae eros。 Quisque vulputate massa quis augue mollis pharetra ac eu risus。 Donec tristique purus nec erat tristique hendrerit。 Integer consectetur nibh nec augue ornare tempus varius eros imperdiet。 Quisque venenatis condimentum nisi,facilisis elementum lorem molestie eu。 Donec id elit nec arcu tincidunt consectetur id sit amet velit。 Nulla ut purus sapien。

Praesent a tortor magna。 Lorem ipsum dolor坐下来,精致的adipistur elit。 Nam non tincidunt mauris。在euismod中的Morbi euismod sollicitudin ipsum。 Suspendisse的潜力。 Ut semper,risus viverra porta semper,urna nisi placerat erat,在luctus ante mi in velit。 Sed ac congue purus。 Curabitur坐在amet lacinia elit。 Sed ac eros elit。在hac habitasse platea dictumst。在feugiat ipsum at dolor viverra non dictum dui fringilla。 Duis quis urna mi。 Mauris non tellus non augue pretium commodo vitae adipiscing nulla。 Donec aliquet libero坐在amet ipsum pharetra non fermentum sapien euismod。 Quisque commodo erat vel nisl tristique placerat。 Morbi eros urna,dignissim pulvinar ullamcorper sed,convallis risus。菜豆(Phasellus quis convallis lectus)。 Etiam eu aliquet odio。整数diam neque,tincidunt ac semper quis,gravida eget eros。 Praesent augue orci,sagittis vitae semper ut,accumsan in turpis。

Nam ac erat坐在acmet上的metus congue ullamcorper。 Sed auctor fringilla ligula,vitae iaculis mauris tempus et。 Etiam pulvinar,odio non egestas mollis,odio ligula elementum dolor,non auctor nulla leo sit amet orci。 Aenean leo urna,congue id tristique in,augquat in augue。 Morbi vel condimentum dui。 Curabitur eu augue felis,sed luctus nisi。 Pellentesque eu tortor non erat placerat iaculis nec tortor。 Maecenas ultrices tristique lectus et fermentum。 Duis et faucibus diam。 Vivamus简历nibh neque。 Sed m​​assa odio,adtriciscing在ultricies non,viverra urna。 Praesent posuere dui in nibh pulvinar vitae lacinia est congue。 Ut congue vestibulum arcu,eget venenatis augue scelerisque quis。 Vivamus augue libero,molestie ut condimentum ac,pretium v​​itae nunc。

Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Pellentesque居民morbi tristique senectus et netus et malesuada fames ac turpis egestas。 Lorem ipsum dolor坐下来,精致的adipistur elit。 Vivamus sodales varius orci a tempus。 Suspendisse的潜力。 Sed pellentesque euismod erat,et tincidunt lectus vehicula quis。 Mauris blandit fermentum urna,posuere risus vestibulum feugiat。 Sed pulvinar,lacus quis dignissim ullamcorper,odio arcu euismod massa,in suscipit odio ipsum quis sapien。 Vestibulum nec neque vel leo tincidunt sollicitudin。 Quisque et est ut erat blandit dapibus a mollis metus。 Etiam turpis duis。

答案 1 :(得分:3)

4k是4096字节。因此,您可以存储4096个单字节字符(ASCII)。

但是,由于您希望存储哈希值,因此最好使用原始哈希值的Base64编码值。因此,如果您使用十六进制值,则每个字符可以存储6位而不是每个字符4位。

答案 2 :(得分:2)

存储为名称/值对,每个MD5至少36个字符(假设它存储为带有单个字符名称的十六进制字符串,md5 + name +“=”+ separator = 32 + 2 + 1 + 1),你会变得更好并且使用有意义的名字......在36个字符中你可以容纳117个4K(4096个字符,假设整个ASCII字符),但要确保你留出空间来处理来自服务器的会话ID cookie - 侧边脚本环境等。

SHA1将更长(160位,而不是128),SHA2更长(224到512位之间,具体取决于使用的确切变体)。使用Base64编码或类似代码而不是普通十六进制将减小大小(MD5为22个字符,假设没有填充,而不是32)。

对于以这种方式使用cookie的问题,主要的是一些用户完全关闭cookie(即使是第一方会话cookie),但取决于你的目标受众,这可能不是问题。

您还需要确保在用户可能使用的所有浏览器中进行测试,确保在一个窗口中通过脚本更新cookie实际上确实更新了其他窗口中脚本可用的数据而没有客户/服务器往返。

您还需要培训Internet Explorer用户,以了解使用ctrl-N或您的链接启动新IE窗口与通过从开始菜单启动IE启动新进程之间的区别。在后一种情况下,在发生往返之前,几乎肯定不会与其他窗口共享cookie。