c# - 压缩URL中的参数

标签 c# asp.net

我网站上的 url 可能会变得很长,我的理解是 url 是通过 http 请求传输的。于是就有了压缩url中字符串的想法。

通过我在互联网上的搜索,我找到了有关使用短网址然后将其链接到长网址的建议。我不想使用此解决方案,因为我必须进行额外的数据库检查才能在长 URL 和短 URL 之间进行转换。

在我的脑海中留下了 3 个选项:

  1. 哈希,我不认为这是一个选项。如果你想要一个安全的散列算法,它会很长。
  2. 压缩 url 字符串,基本上是让服务器在获取 url 参数时压缩字符串。
  3. 更改 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/

相关文章:

c# - 当一切看起来都很好时,为什么我的 MVC 应用程序中的 ModelState.IsValid 属性等于 false

c# - 在WPF中,如何通过隐藏代码中的标签获取控件的名称?

c# - 多个独立数据库事务的并发问题?

c# - 结合两个正则表达式进行 ASP.NET MVC 数据注释

asp.net - HttpRequestValidationException 和跨站脚本 XSS

c# - 我如何直接将复选框值传递到数据库

C#使用反射复制基类属性

c# - 如何防止 Entity Framework 代码优先使用不属于模型的派生类

c# - 导出到 Excel 电子表格 (XLSX) 失败

c# - 意外的格式异常