gpt4 book ai didi

ajax - AJAX 生成的 HTTP 请求消息的格式是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:08:26 24 4
gpt4 key购买 nike

澄清一下:我感兴趣的是实际的 HTTP 请求消息( header 等)是什么样的,而不是用于创建它的代码。换句话说,像这样:

GET /info.txt HTTP/1.1
Host: www.example.com
SpecialHTTPHeaderIndicatingAsynchRequest: 1
SpecialHTTPHeaderDefiningCallbackFunction: MyFunc
...

我正在尝试弄清楚当 HTTP 服务器接收到异步请求时究竟发生了什么:服务器如何知道它是异步的,回调函数是如何传递的以及它立即给出什么响应代码em> (如果有的话)确认请求(在响应之前)。我一直认为 HTTP 服务器必须给出某种即时(即同步)响应以确认请求;但是,现在我不太确定。 (如果不这样做,请求系统如何知道请求已收到并正在处理,或者它不知道这一点?)

最佳答案


服务器不知道请求是从客户端以同步模式还是异步模式发送的。现在让我们看看 HTTP 请求的内部。我用 PHP 和 HTML/JS 做了一个小例子

client.html

<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
</head>
<script>
$.ajax({
url: "/StackOverFlow/sof/server.php",
}).done(function( data ) {
console.log(data);
});
</script>
<body>

</body>
</html>

server.php

<?php
print json_encode(array("NAME" => "Factory", "VALUE" => "Constructor"));
?>

当我在浏览器中启动 client.html 并激活 firebug(免费的 Firefox 插件)时,我可以看到从客户端发送的 http 请求,以及从服务器获得的 http 响应
enter image description here

现在,如果我们查看 %Apache_Home%/logs/access.log,我们将看到 Apache 以相同的方式处理来自浏览器请求 (POST/GET) 的 Ajax 请求

::1 - - [18/Nov/2014:22:35:22 +0100] "GET /StackOverFlow/sof/server.php HTTP/1.1" 200 40 "http://localhost/stackoverflow/sof/client.html" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0"

希望对您有所帮助:)

关于ajax - AJAX 生成的 HTTP 请求消息的格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27001757/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com