因此,当通过浏览器完成正常GET
请求时,我认为浏览器是客户端。但是当通过AJAX发出GET
请求时,谁是客户?我知道它仍然通过浏览器发生,但我想知道我是否可以更细致地查看它。
你能说浏览器的javascript引擎是AJAX GET
请求的客户端和一般的GET
请求,那么整个浏览器是客户端吗?我认为只要浏览器的javascript引擎在不同的进程中运行,你就可以这样说。
谁可以对此有所了解?
Wikipedia在AJAX上说:
XMLHttpRequest(XHR)是一种以其方法为对象形式的API 在Web浏览器和Web服务器之间传输数据。对象是 由浏览器的JavaScript环境提供。
答案 0 :(得分:2)
让我们把它放在更广泛的场景中:浏览器/网络服务器通信遵循Client–server model。从服务器的角度来看,客户端是已启动http request的IP地址+ IP端口。
http请求的答案将被发送回原始IP地址+ IP端口,原始进程将对其进行管理。
此过程是您的浏览器。它会接受内部管理的答案。
浏览器可以为多种类型的协议启动客户端请求。通常是 HTTP 或 HTTPS ,还有 FTP , FILE ......
XMLHttpRequest
只是一个API,在当前浏览器的内部支持......
...提供客户端功能,用于在客户端和服务器之间传输数据。
[...]它可用于检索任何类型的数据,而不仅仅是XML,它支持 HTTP 以外的协议(包括 FILE 和< EM> FTP )。
有关XMLHttpRequest
here的更多信息。
所以,恕我直言浏览器是任何类型请求的客户端( HTTP GET
, HTTP POST
... ),无论是通过Ajax / XMLHttpRequest
启动还是通过直接访问URL。浏览器内部决定如何管理它,在概念上与客户端/服务器模型无关。