JavaScript 和https - XMLHttpRequest 对象到 GET 相对路径 - 协议/端口是否“继承”?
如果我在 Javascript 中使用相对路径从服务器获取页面(以在 div 内显示输出),Javascript 是否使用与其加载页面相同的协议/端口?
例如:
请求父页面 https://www.foo.com/bar.php
JS bar.php 上的代码:
var turl = "/new_dir/index.php?r="+r;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET",turl,false);
xmlhttp.send(null);
由于父页面是在端口 443 上使用 https 请求和提供的,这是否意味着 JS 将使用相同的协议和端口将 GET 请求发送到新页面?或者因为我没有在“turl”变量中指定连接协议,它会通过端口 80 上的 http 发送请求吗?
If I use relative paths in Javascript to GET a page from a server (to display output inside a div), does Javascript use the same protocol/port as the page in which it was loaded?
For example:
parent page is requested https://www.foo.com/bar.php
JS code on bar.php:
var turl = "/new_dir/index.php?r="+r;
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET",turl,false);
xmlhttp.send(null);
Since the parent page was requested and served using https on port 443 does this mean that JS will send the GET request to the new page using the same protocol and port? Or will it send the request via http on port 80 since I did not specify a connection protocol in the 'turl' variable?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它将使用相同的端口和协议,因为您没有指定任何其他内容。您的 URL 是 RFC 语言中的相对引用,详细信息请参见 RFC 第 4.2 节。 (我只是碰巧知道 RFC 部分参考,因为我最近才发现这个http/https 的漂亮技巧。)
的请求
因此,您对相对于文档
解析为
It will use the same port and protocol, since you haven't specified anything else. Your URL is a relative reference in RFC-speak, details in Section 4.2 of the RFC. (I only happen to know the RFC section reference because I just recently found out about this nifty trick for http/https stuff.)
So your request for
relative to the document
resolves to