为什么file_get_contents请求无法在Firefox、Chrome开发者工具网络面板显示?
原因说明
这个请求是服务端内部发起的,不属于浏览器发起的请求,所以不会出现在浏览器开发者工具的网络面板中,完整执行流程如下:
- 你在浏览器访问
form.php时,浏览器仅向服务端发起1次获取form.php内容的请求 - 服务端收到请求后,执行
form.php内的PHP代码:调用file_get_contents()主动向本地的index.php发起HTTP请求,这个请求完全在服务端的网络环境中执行,和用户侧的浏览器没有任何关联 - 服务端拿到
index.php返回的123结果后,将结果和var_dump()的输出拼接为form.php的响应内容,返回给浏览器 - 浏览器仅能拿到最终的响应结果,无法感知服务端内部的请求调用逻辑,因此网络面板不会记录指向
index.php的请求
如果想要在浏览器网络面板看到index.php的请求,需要由前端逻辑发起调用,比如通过JS的fetch、XMLHttpRequest,或者用<img>、<script>等标签加载index.php地址,这类由浏览器主动发起的请求才会被网络面板捕获。
内容的提问来源于stack exchange,提问作者Mefisto Evil
相关产品推荐
相关产品推荐

