假设网络服务器总是忽略网址的片段标识符(#)是否安全?

时间:2014-03-25 21:05:49

标签: url webserver

我们说我有以下网址:http://www.example.com/image.jpg

我想添加一些"元数据"到此URL,即客户端使用的图像的宽度和高度。但是,这个"元数据"不应该干扰URL本身,这意味着URL应该仍然是完全有效的。我虽然使用URL的片段标识符(#部分),如下所示:

http://www.example.com/image.jpg#800x600

在浏览器上,这不应该是一个问题,因为默认情况下,他们不会在请求中发送片段标识符。但是,在使用cURL执行请求时,情况可能并非如此。

问:假设网络服务器始终忽略网址的哈希部分是否相对安全?

1 个答案:

答案 0 :(得分:2)

如果您想将元数据放在图像(或其他链接)旁边,那么可能是更好的方法。如果它在html中使用,那么向元素添加data- *属性可能更有用。 但严格回答你的问题,浏览器,curl或wget不会在请求中发送片段。但是如果你telnet并发送GET /#foo至少apache2忽略它。可能有关于此的RFC:)