Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTTP响应、浏览器、PHP、工作原理_Php_Http_Browser_Response - Fatal编程技术网

HTTP响应、浏览器、PHP、工作原理

HTTP响应、浏览器、PHP、工作原理,php,http,browser,response,Php,Http,Browser,Response,如果不使用默认的输出缓冲,HTML将在PHP通过脚本进行处理时以片段的形式发送到浏览器。通过输出缓冲,HTML存储在一个变量中,并作为脚本末尾的一部分发送到浏览器。您是否已经开始看到性能优势和后期处理机会 我读了那篇文章,开始想知道这个过程到底是如何运作的。如果有人能给我一个链接或书名,让我研究一下,那就太好了。当然你可以在这里解释 我认为这个过程是这样的。浏览器将请求发送到服务器并运行脚本,当脚本准备就绪时,它将创建响应并将其发送到浏览器 但是看起来它实际上是把身体的一部分以碎片的形式发送出去

如果不使用默认的输出缓冲,HTML将在PHP通过脚本进行处理时以片段的形式发送到浏览器。通过输出缓冲,HTML存储在一个变量中,并作为脚本末尾的一部分发送到浏览器。您是否已经开始看到性能优势和后期处理机会

我读了那篇文章,开始想知道这个过程到底是如何运作的。如果有人能给我一个链接或书名,让我研究一下,那就太好了。当然你可以在这里解释

我认为这个过程是这样的。浏览器将请求发送到服务器并运行脚本,当脚本准备就绪时,它将创建响应并将其发送到浏览器

但是看起来它实际上是把身体的一部分以碎片的形式发送出去。我的意思是,即使脚本仍在运行,它也可以首先发送头。对于浏览器来说,即使脚本还没有准备好,它也会一直等待并开始呈现页面

我做了这个愚蠢的测试用例我在浏览器和终端上试过了,我可以看到脚本是如何运行的。区别在于浏览器不会显示第一个回声,10秒后会显示另一个回声

echo "Yo";
sleep(10);
echo "Yo yo";
很高兴知道整个过程是如何进行的。

你有没有读过类似的函数

Ob_获取内容, 干净的,干净的, Ob_end_flush, 把你弄干净

在网站上。。 请阅读这里的内容,并阅读下面给出的示例,了解所有这些函数,您一定会获得最好的知识

很乐意提供帮助:

通过输出缓冲,HTML存储在一个变量中,并作为脚本末尾的一部分发送到浏览器-这并不完全正确。有两种缓冲—当在执行结束时发送整个输出时,完全缓冲;当以固定大小(例如4096字节)发送输出时,部分缓冲。在完全缓冲的情况下,输出可能也被分成许多部分,因为它通常太大,无法在单个数据包中发送。我在浏览器和终端上进行了尝试,实际上我可以看到脚本是如何运行的。区别在于浏览器不会显示第一个回音,10秒后会显示另一个回音-我认为浏览器也有一些缓冲区,也就是说,它们在接收到每一小块数据后都不会呈现页面,这将浪费资源,因为每次页面都必须完全重新呈现。