【问题标题】:How does a web server know the incoming HTTP request is dynamic or static?Web 服务器如何知道传入的 HTTP 请求是动态的还是静态的?
【发布时间】:2022-01-02 15:08:01
【问题描述】:

抱歉,如果这是一个愚蠢的问题,我是 HTTP 请求的新手。

我有来自 MDN 的这句话 - 来源:https://developer.mozilla.org/en-US/docs/Learn/Server-side/First_steps/Client-Server_overview

教练提交球队名称和球员人数的表格后,操作顺序为:

  1. Web 浏览器使用资源的基本 URL (/best) 向服务器创建 HTTP GET 请求,并将球队和球员编号编码为 URL 参数(例如 /best?team=my_team_name&show=11)或作为一部分URL 模式的名称(例如 /best/my_team_name/11/)。使用 GET 请求是因为该请求只是获取数据(而不是修改数据)。
  2. Web 服务器检测到请求是“动态的”

网络服务器如何检测浏览器是动态的?

我读到静态和动态网站都使用完全相同的通信协议/模式。 Web 服务器如何检测到请求是动态的?

【问题讨论】:

  • 答案就在同一句话里——the web server determines how to handle different URLs based on pattern matching rules defined in its configuration

标签: http httprequest


【解决方案1】:

“静态”和“动态”之间的区别不是请求的属性,甚至不是响应的属性,它只是对服务器如何选择生成响应的描述

在“静态”网络服务器中,传入的 URL 被映射到本地磁盘上的文件路径,并根据该文件的内容创建响应。在“动态”的 Web 服务器中,传入的 URL 会以其他方式进行处理,并根据更复杂的逻辑生成响应。有许多不同的方法可以完成,中间有许多灰色区域 - URL 可以通过一些简单的字符串替换来处理,然后结果在磁盘上查找,或者“动态”逻辑可以检查一些身份验证信息,然后返回与“静态”网络服务器相同的内容,等等。

因此服务器不会“检测到请求是动态的”,它会应用一组配置规则,并决定要做什么 - 以文件内容响应,运行特定程序,返回硬编码错误页面等。将“映射到文件路径并以该文件的内容响应”的常见情况称为“静态”,将“运行特定程序”的另一个极端称为“动态”。

【讨论】:

    猜你喜欢
    • 2011-09-18
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 2016-08-31
    相关资源
    最近更新 更多