我对 HTTP 的工作原理有基本的了解,类似于 described here。 但是我的问题是例如使用基于 glype 的代理时(我没有使用其他代理的经验)并且您执行以下步骤:
- 将您的浏览器配置为使用代理,例如 213.229.83.205
- 在地址栏中输入 google.com 等 IP 地址
请求看起来像
Get http://www.google.com /HTTP 1.0
host: www.google.com
那么 apache 如何知道它应该将这个请求转发给哪个 php 脚本呢?
最佳答案
假设 glype 只是一个普通的代理服务器,它非常简单。在将浏览器配置为使用代理(通过提供它的 IP 地址)后,浏览器发出的每个请求首先检查代理服务器,看它是否有所请求 URL 的缓存副本(在本例中为 http://www.google.com index页)。如果是,则代理返回它,否则浏览器从真实服务器(在您的示例中为 google.com)请求文档并在代理服务器上保存一个副本,以便下一个请求不必从真实服务器获取它服务器。
这个想法是,当许多用户重复从远程来源请求相同的文档时,通常用于本地网络的代理服务器将能够更快地提供内容(文档和图像以及其他内容)。十年或二十年前,当大公司拥有许多用户和有限的带宽时,这可能是正确的。如今,代理服务器在正常的网络浏览中值(value)不大——大多数网页(如 Google 主页)都是动态的,并发送指示代理不缓存内容的 header 。此外,浏览器现在缓存内容,并且在大多数情况下,带宽是可用的。可以肯定的是,并非世界上所有地方和所有网页都是如此,但大多数以缓存数据为目的的代理服务器已成为过去的遗迹。
关于php - 帮助我理解浏览 glype 代理时的 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7538599/