0

我是真正的初学者,并试图了解事情是如何工作的,而不是开发东西,现在我无法继续前进,直到有人给我一个关于以下问题的一些细节的准确答案。

让我们假设有一个带有 php 代码http://example.com/blablabla和链接的页面,就像http://example.com/blablabla?file=number_1用于修改此页面的某些部分一样http://example.com/blablablahttp://example.com/blablabla?file=number_1

问题实际上是:每次请求时是否处理来自已加载页面的代码?file=number_1?对我来说这似乎很奇怪,因为如果第一次http://example.com/blablabla 通过 php 我选择了例如来自数据库的大量数据并且只想修改页面的一小部分,?file=number_1为什么我需要服务器再处理对数据库的请求时间。

我的经验告诉我,服务器确实再次处理已经加载的代码,但据此我有一个非常轻微的假设,我对此不太确定,但它似乎很合乎逻辑:

真正的诀窍是第一页中的代码有一个 VARIABLE 并且它的值被第二个请求改变了,所以我假设服务器看到这个变化并且只用这个 VARIABLE 修改那部分代码 - 例如http://example.com/blablabla看起来的代码像这样

<? 

 /* some code above */

if (empty($_GET['file'])) {
/* do smth */
} else {
/* do smth else */
} 

 /* some code below */

?>

通过请求http://example.com/blablabla?file=number_1,服务器仅处理原始代码的一部分,仅包括更改的$_GET['file']变量。

这完全是我的想象还是以某种方式说明了问题?请有人向我解释一下。非常感激。

4

3 回答 3

0

HTML 是一种静态语言。有 php 和其他类似的语言可以让您拥有动态页面,但是因为它仍然必须将所有内容作为 html 发送,您仍然必须获得一个新页面。

只是向页面发出获取请求,?file=number_1为其提供更多信息,但仍然必须重新运行页面本身才能更改信息并将新的静态 html 页面发回。

数据库查询可以用 PHP 或其他类似语言的更高级编程缓存,这样服务器就不必重新查询数据库,但页面本身仍然必须完全重新运行

有更高级的方法允许客户端操作数据,但从您的示例中,我相信该页面正在重新运行,并在服务器端发出一个 get 请求,并且正在发回一个新页面。

我相信这就是你要问的。

于 2013-07-07T15:36:38.673 回答
0

是的,谢谢你们俩。它确实澄清了每个脚本(干净的 html 或由 php 生成)每次请求时都会运行的问题,并且只有图像文件等外部类型的数据,即使从上一个答案中得出,mysql 结果也可以被缓存并被通过 php 用于输出必要的数据。

重点是我错误地希望如果页面被加载并因此缓存在计算机内存中,附加到这个 URL 的 QUERY STRING 当然会发送新的 get 请求,但是检索到的响应会部分影响这个页面而不会完全重新运行它.
现在我必须重新考虑我的构建策略——从每个请求的 URL 加载尽可能多的数据。

于 2013-07-08T06:05:57.837 回答
0

如果您正在寻找一种动态编辑页面的方法,请使用 JavaScript。如果您需要在服务器端运行代码,对客户端不可见,请使用 PHP。如果您需要动态加载内容,请使用 JavaScript 的扩展 AJAX。

我希望这会有所帮助。

于 2016-11-19T04:04:02.437 回答