在使用MVC模式的典型php应用程序中,每个请求都会被引导到index.php,这意味着当我输入
http://localhost/controller1/action1
它会向php脚本发出第一个请求,那么,如果生成的html页面会怎样
http://localhost/controller1/action1
还包含
<img src="http://localhost/controller2/action2" >
,这个img标签会自动向index.php发出另一个请求,并将src值替换为从
生成的结果 controller2/action2?
我已检查过脚本发出的请求,但确实有两个请求,但src的值没有改变并保持为
<img src="http://localhost/controller2/action2" >
我的问题是: 1. src propery中的第二个请求是否会对index.php发出另一个请求? 2.如果发出请求,为什么src的值没有改变为来自controller2 / action2的结果?
答案 0 :(得分:1)
是的,src
属性中的第二个请求将向index.php发出请求。
但是,它不会替换实际的源字符串,它会将图像的源设置为php脚本的输出。
答案 1 :(得分:0)
这个img标签会自动向index.php发出另一个请求吗
这将导致浏览器向给定的URL发出请求。服务器可能会将其解析为index.php文件。
并将src值替换为
生成的结果
它永远不会替换src属性的值。 index.php
程序可能会返回图像数据,它可能会返回重定向,甚至可能会返回HTML文档或其他不是图像的内容(这对于上下文来说是不合理的。)。
src propery中的第二个请求是否会向index.php提出另一个请求?
使用相同URL的第二个资源可能会也可能不会触发新请求,具体取决于HTTP标头和浏览器配置中的缓存规则。
为什么src的值没有改变为从controller2 / action2
回显的结果
HTML文档不会被浏览器(或服务器)重写,因为它们引用了资源。