来自浏览器的两种类型的HTTP GET请求之间的差异

时间:2013-12-30 17:28:41

标签: javascript dom browser dhtml http-get

如果我打开浏览器并转到http://example.com/myapp,浏览器将从Web服务器获取HTML文件,解析HTML,然后将其加载为window.document

但我也可以像下面的jQuery示例一样进行AJAX查询:

$.ajax({
    url: "http://example.com/myapp",
    success: onSuccess
});

在这种情况下,浏览器会针对相同的HTML内容执行异步请求,但是它不一定会将该内容加载到window.document中。然后代码需要明确使HTML对用户可见。

我的问题是:这两种类型的HTTP GET之间的区别是什么,它们都从Web服务器请求相同的文件。为什么前者会导致用户看到新的网页,而后者只是获取HTML并为JavaScript开发人员提供选项来显示或不显示?

1 个答案:

答案 0 :(得分:1)

所涉及的HTTP 请求之间没有太大的意义差异。重要的是浏览器对响应的处理方式。这只是网络浏览器的功能;它只是一个软件,它可以决定对HTTP请求的响应做任何想做的事情。

请注意,浏览器知道如何启动不同的HTTP事务。因此,它只是以一种从可观察行为中隐含明显的方式内部跟踪差异。如果某些JavaScript代码启动了AJAX HTTP请求,则可以确信响应将通过状态更改事件传递给它,并且浏览器不会自发决定更新页面。

浏览器内部管理一组并发HTTP请求的确切方式几乎就是内部架构细节。