【问题标题】:How does the browser/server work together to display an html page?浏览器/服务器如何协同工作以显示 html 页面?
【发布时间】:2010-11-05 00:17:18
【问题描述】:

我经常收到这个问题 =/

但我只知道如何在非常高的水平上回答。

从用户输入 URL 并点击 Enter 的那一刻起,客户端和服务器端会发生什么,以及请求/响应如何工作?服务器如何与 CGI/解释器交互?

如果您可以将我引导到包含此信息的详细信息的 URL,或者您可以回答它,那也会很有帮助。

当我向人们描述这件事时,我总是觉得他们在寻找细节,而我没有提供足够的细节。

谢谢!

【问题讨论】:

    标签: browser http-headers response


    【解决方案1】:
    1. 客户端发起通信(通常是 HTTP GET 请求)
    2. 服务器接收 REQUEST-HEADER 并解析其中包含的 URL。
    3. 服务器会查找本地硬盘文件夹中是否有任何 URL 匹配。如果网络服务器像 Microsoft IIS 一样处理虚拟服务器,那么它将在从 REQUEST 标头中检索“www.domain.com”部分后确定要搜索的文件夹。
    4. 如果找到 Web 文档(HTML 文件),则服务器将其作为 RESPONSE + HTTP 状态代码发回(例如,200 表示:已找到,此请求进行得很顺利,而 404 表示“未找到该文件”)
    5. 客户端(浏览器)收到响应,现在可以根据需要显示它。如果它包含渲染引擎,那么它将搜索模式(HTML 标签或任何语言),然后将其显示出来。

    这也称为“无状态”,因为在客户端收到来自响应流的所有内容后,服务器会关闭与客户端的通信。

    因此,服务器无法知道客户端是否仍然连接,也无法知道客户端是否稍后返回。许多服务器确实提供了一个使用 cookie 或类似的会话对象来跟踪是否是同一客户端发送下一个请求,如果是,则允许更“智能”的服务器响应 - 例如搜索、事务和登录。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 不错的网址。哈哈,如果我问“互联网是如何工作的?”我会被挂起来晾干的。
      • This 页面可能会让您更深入地了解 HTTP。
      【解决方案3】:

      客户端向服务器发送请求标头(通过 DNS 查找 IP)。

      服务器软件(例如 Apache)在需要时调用 CGI 并准备响应。

      它将标头和内容一起发回。

      【讨论】:

      • 这就是我描述它的方式,哈哈。但是我需要播放整个屏幕,这还不够详细=/
      猜你喜欢
      • 2014-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-22
      • 1970-01-01
      • 2020-07-30
      相关资源
      最近更新 更多