我网站上的 url 可能会变得很长,我的理解是 url 是通过 http 请求传输的。于是就有了压缩url中字符串的想法。
通过我在互联网上的搜索,我找到了有关使用短网址然后将其链接到长网址的建议。我不想使用此解决方案,因为我必须进行额外的数据库检查才能在长 URL 和短 URL 之间进行转换。
在我的脑海中留下了 3 个选项:
- 哈希,我不认为这是一个选项。如果你想要一个安全的散列算法,它会很长。
- 压缩 url 字符串,基本上是让服务器在获取 url 参数时压缩字符串。
- 更改 url 使其不具有描述性,这很糟糕,因为这会使我的开发变得更加困难(这是一个单人项目)。
考虑到可能存在的大量操作系统/浏览器,我认为 id 就好像其他人已经尝试过这个或有一些聪明的建议。
如果重要,url 参数可以达到 100+ 个字符。
例子:
mysite.com/Reports/Ability.aspx?PlayerID=7737&GuildID=132&AbilityID=1140&EventID=1609&EncounterID=-1&ServerID=17&IsPlayer=True
编辑:
让我澄清一下 atm 这并没有破坏网站。更多的是关于我学习寻找一个好的解决方案(我很清楚这是微优化,我的网站速度非常快 atm)并使我的网站更快(挑战自己,成为更好的编码员)。
还有一个外观问题,我个人认为 URL 长于地址栏看起来很糟糕。
最佳答案
您有一些相互矛盾的要求,因为您希望缩短/压缩 url 但又不想降低其描述性。就缩短 URL 的本质而言,您将在一定程度上减少它的描述性。
据我了解,您的目标是通过减少发送请求来进行优化。你提到 100 多个字符,而不是 1000 多个,我认为这意味着它们不会变得那么大?在这种情况下,我会将其视为不必要的微优化。
要添加到之前使用 POST 的建议,如果您不想进行完整的 url 缩短,一个简单的事情就是缩短键而不是使用全名,例如:
mysite.com/Reports/Ability.aspx?pid=7737&GID=132&AID=1140&EID=1609&EnID=-1&SID=17&IsP=True
这些显然描述性较差。
但是就像我说的,长 URL 真的有问题吗?
关于c# - 压缩URL中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2056393/