apache – Http请求生命周期

我最近开始我的工作作为Web应用程序后端开发人员。我有点陷入了解Http请求的生命周期。

我的理解是

>每个Http请求首先联系一个DNS服务器,它将请求URL域解析为IP地址。
>获取Web服务器IP地址请求后(通过PUT请求)转发给它。像apache这样的网络服务器处理这个请求并将其转发给必须处理这个请求的应用程序。

在这之后,我失去了

>如何响应由应用程序发送给请求它的用户和Apcache参与这个?
>我可以使用一些调试工具在浏览器中看到整个流程吗?
>有人可以参考一些链接来深入了解这一点吗?

我想你对你的理解有点错了。

如果您访问www.google.com(不使用任何表单,只需要网站),则会发生以下情况:

>首先,如果浏览器不知道,则需要将www.google.com翻译为IP地址。如果它知道,在这一点上什么也没有发生。如果它不知道它,它联系DNS服务器来解析名称。
>然后浏览器将打开一个TCP连接到www.google.com的IP地址,并发送一个HTTP GET请求。在这个例子中,它将
GET / HTTP / 1.1
主机:www.google.com
>服务器软件将获得此HTTP请求。它会以某种方式生成HTTP响应,并通过TCP连接发回。服务器如何做到这一点是依赖于服务器软件。例如,您可以在Apache中插入应用程序代码,或者只让Apache从文件系统中返回一个文件。 PHP是由一些软件调用的应用程序,然后生成响应发送到浏览器。当发送响应时,在HTTP版本1.0中,连接关闭。 HTTP 1.1可以有持久连接。
>当浏览器获取响应时,它通常在屏幕上呈现它。 HTTP请求现已完成。点击“搜索”将向服务器发送一个新的请求。

GET,PUT,POST,DELETE和其他都是HTTP request methods.他们有特殊的意义,你可以在RFC中看到。

Cookies通常用于跨多个HTTP请求(称为会话)标识相同的用户。因此,这些cookie被称为会话cookie

您可以使用网络嗅探器工具(例如Wireshark)调试通信。Firefox有一个名为Tamper Data的第三方插件,可以在将请求发送到服务器之前对其进行更改。

HTTP RFC是一个很好的来源,它如何一切正常。

希望它有帮助。

http://stackoverflow.com/questions/4814514/http-request-life-cycle

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:apache – Http请求生命周期