2012-08-27 21 views
1

据我了解,一个URL由如下因素字段:可以在URL内使用http://吗?

  • 协议(HTTP,HTTPS,FTP等)
  • 用户名
  • 用户密码
  • 主机地址( IP地址或DNS FQDN)
  • 端口(可暗示)
  • 路径到文档里面的服务器文档根
  • 集arg的uments和值
  • 文档部件(#)

protocol://user:[email protected]:port/path/document?arg1=val1&arg2=val2#part

但我刚刚认识使用的例子 “HTTP://” 的路径部分内:存在重定向服务(展示广告并为您通过它传递的流量付款),这些服务仅向其自己添加目标网址(完整形式,带有“http://”)。从标准的角度来看,它被认为是好的吗?它不会破坏什么吗?通常情况下,我永远不会期望在有效的URL内部遇到“//”双斜杠,冒号或“#”,而是在上面示例中的地方。

回答

1

不,从标准的角度来看它并不好。

Section 3.3 Path Component in RFC-2396,路径不能包含下列字符 - "/", ";", "=", and "?"

通常情况下,浏览器使得HTTP请求,这就是为什么它的工作原理在实践中之前编码这种畸形的URI。

+0

是的,他们需要进行编码以保证格式正确。实际上,将嵌入的URL作为参数值是一个好主意,这样编码和解码就可以透明地处理。 –

相关问题