希望这个问题适合本网站——如果不适合,请告诉我!
我正在阅读一本关于 Web 开发的教科书(Web 开发基础知识,Connolly 和 Hoar,3e),虽然我还处于早期阶段,但它此时已经充实了“服务器端堆栈”的本质,包括:操作系统、Web 服务器软件、数据库软件和脚本软件。我原以为我明白 Web 服务器软件有责任理解传入服务器的 HTTP 请求,然后根据需要分派数据库或脚本软件,但文本确实说了以下内容:
最后(或者也许首先,如果您从头开始一个项目)是服务器端开发语言或平台的选择。该开发平台将 用于编写响应 HTTP 请求的软件。 LAMP 堆栈的选择通常是 PHP 或 Python。
这使得脚本软件看起来像是用于创建响应传入 HTTP 请求的可执行文件。有人可以帮我指点一下吗?
您在这两种情况下都是正确的,只是您可能混淆了两个不同级别的“响应”。
Web 服务器操作系统、软件和网络层负责在基础级别处理传入的 HTTP 请求。脚本软件可以用 PHP、Go、Node、Python 等语言编写,用于编写响应这些基本 HTTP 请求的服务器端代码。
也许一个类比会有所帮助......
想一想,谁负责响应您对餐厅中特定菜肴的要求 - 服务员还是厨师?答案是两者,在不同的“响应”级别。
您向服务员点菜,服务员会解释您所说的内容,写下来并将格式化的订单传递给厨师。厨师接受订单并制作餐点。然后服务员会把饭菜送到你的桌子上。
您从网络服务器请求资源,网络服务器解释该请求并将其传递给您的脚本软件。脚本软件根据请求创建响应。然后 Web 服务器将该响应传递回客户端。