据我了解,URL包含以下字段:
作为
protocol://user:password@host:port/path/document?arg1=val1&arg2=val2#part
但我刚刚在路径部分中遇到了一个使用“http://”的示例:有一个重定向服务(显示广告并为您通过它路由的流量付费),它只添加了一个目标URL(在完整形式,“http://”)。从标准的角度来看它是否正常?它不会破坏任何东西吗?通常情况下,我永远不会期望在有效的URL中遇到“//”双斜杠,冒号或“#”,但是在上面示例中的位置上。
答案 0 :(得分:1)
不,从标准的角度来看,这是不对的。
根据Section 3.3 Path Component in RFC-2396,路径不能包含以下字符 - "/", ";", "=", and "?"
通常,浏览器在发出http请求之前对这些格式错误的URI进行编码,这就是它在实践中有效的原因。