1
4
你至少可以把它缩短一点。现在,您将发送一个guid,它是一个128位的数字,格式基本上是十六进制的,带有额外的破折号。如果您以字节数组的形式查看guid并将其转换为base64,那么您可以将其减少一点。同样,“query=academic”可以是“q=a”。 GUID当前占用36个字符。转换成base-64可以将此值减少到22,节省14个字符。将“query=academic&key=”替换为“q=a&k=”将另外13个剃掉。总共剪切27个字符可能会使您的URL足够短,不会换行,尽管存在符号和等号。 还有一个细节:base-64文本将以“=”结尾,然后十六进制编码到“%3d”。解决方案是把这个字符去掉,因为它只是填充。 考虑到最初的海报,最好的选择似乎是多种因素的结合:
|
2
2
如果您不能使用第三方URL缩短器,那么您唯一的选择(除了更改URL结构,如Sunny建议的那样)是用尖括号包围您的URL,如下所示:
任何遵循指南的电子邮件客户端 Uniform Resource Identifiers (URI): Generic Syntax 文档应显示可单击的链接。然而,这不是一个简单的解决方案,您最终可能会求助于一个URL缩短服务或重新构建您的URL。 |
3
1
安装自己的缩短器服务(这将是IMO的理想解决方案)的唯一选择可能是
我将继续构建一个URL缩短服务,该服务根据需要将URL缩短为如下所示:
|
4
0
有一些预打包的URL缩短器,您可以自己托管。这是一个密码丛搜索
或者,您可以使用一些方法来实现一个RESTful URL,这很难搞砸。
我个人认为一个RESTful解决方案是最好的,因为它创建了最干净的URL,仍然有一些“意义”。 |
5
0
用youtube风格的键替换guid怎么样
例如
通过使用base-64字符串(而不是base-16的guid)并删除那些讨厌的破折号,您可以将一系列合适的唯一键打包成少量字符。 |
6
0
这里描述的方法组合如何? 将较短的URL与密钥的base64编码结合起来会使 http://library.example.com/Register.aspx?query=academic&key=586c70bb-5683-419c-aae9-e596af9ab66a 进入之内 http://l.example.com/register/ac/WGxwu1aDQZyq6eWWr5q2ag 更具可读性,IMO。而且缺少像这样的字符?减少剪切粘贴错误的风险。 |
7
0
REST ful URL如下: http://www.yourdomainhere.com/register/academic/ {UsReMeNexIn } 也许会帮助IMO. 如果用户未注册,将执行此操作并返回确认事实的消息 如果用户已注册,则不会有任何操作,可能会显示用户已注册的通知。 URL的路由和/或验证请求等实现细节最好留给查看请求管道的模块… Hth. 编辑: 正如@steven在下面指出的,这个解决方案涉及到一个附加步骤: 当用户单击REST URL时,启动确认/登录屏幕,并预先填充用户名。用户可以登录到帐户,这是用户有效的确认。在他第一次登录之前,帐户的状态可以是“未确认”&在他第一次登录时,如果单击/请求来自发送的电子邮件和/或通过Web浏览器中的请求,则可以是“已确认”,而不必担心。 这也将确保它对真实的电子邮件帐户有效,因为在用户实际进行有效登录之前,该帐户不会处于“已确认”状态… |