绝对 url 与相对 url 以及浏览器如何解释 href 来发送 http 请求
我想知道浏览器如何基于以正斜杠开头的绝对链接(例如/images/myimage.jpeg)发送http请求。现在,如果我有服务器复制并说 http://foo.com 请求可以发送到任何服务器(比如服务器 1),服务器 2 和服务器 3,我仅在服务器 1 上有图像。现在,如果我发送页面 mypage.html 的请求,并且该请求发送到服务器 2,并且 mypage.html 有一个带有 href="/images/myimage.jpeg 的链接”。我想知道单击该链接会在服务器 2 的本地硬盘驱动器上的图像文件夹中搜索 myimage.jpeg(从该文件夹中获取页面 mypage.html),或者可能会在任何服务器上发送 http 请求类似于 http://foo.com/images/myimage.jpeg。
I want to know how browsers send http requests based on absolute link which starts with a forward slash say /images/myimage.jpeg. Now if i have server replication and say http://foo.com request can go to any of the servers say server 1, server 2 and server 3 and I have images only on server 1. Now if i send a request for a page mypage.html and the request goes to server 2 and mypage.html has a link with href="/images/myimage.jpeg". I want to know that clicking on that link would search for myimage.jpeg in the images folder on the local hard drive of server 2 from where the page mypage.html is fetched or there would be http request that could go on any of ther server something like http://foo.com/images/myimage.jpeg.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您直接请求 foo.com 服务器在 images/ 目录中查找文件 mymage.jpg。如果 foo.com 解析为 server1 并且 server1 有 images/myimage.jpg 那么它将被下载到您的浏览器。不然就不会了。但相反,如果您的图像位于 < img href=server1/images/myimage.jpg>标签将始终解析为 server1 并获取在浏览器上显示的图像。
you are directly requesting foo.com server to look into images/ directory for the file mymage.jpg. If the foo.com resolves to server1 and server1 has the images/myimage.jpg then it will be downloaded to your browser. Otherwise it wont. But instead if you have the image in a < img href=server1/images/myimage.jpg> tag which will always resolve to server1 and get the images displayed on the browser.