Web应用程序
Web应用程序就如Webmail,博客,网页游戏,购物网站等不需要在电脑安装客户端的程序。实际上,它本身就是一种n层方法 (多层架构) 的体现,一般基本分为3层:从高到低为:表示层,应用程序层和数据层 。
1. 表示层
表示层显示与如浏览商品,购买和购物车内容等服务有关的信息。 简而言之,它是一个用户可以直接访问的层(例如网页或操作系统的GUI)。
2. 应用程序层(业务逻辑,逻辑层或中间层)
通过服务器端脚本(如 PHP, Python, Perl, Java, Ruby 等 )来实现整个应用程序的功能。
3. 数据层
存储与数据管理。数据层为应用程序层提供一个API,然后交互。
浏览器发送不是简单读取静态文件的HTTP请求,而是带有参数的HTTP请求到应用程序层,它通过使查询和更新对数据库服务他们,并生成用户界面。

PS. 注意这里并不是 Web 服务器本身来做这件事,它本身只负责 HTTP 协议层面和一些诸如并发处理,安全,日志等相关的事情,
而Web应用程序根据 Request 生成相应的 Response。
4. 类比小例子
1) 无参数请求
假设我要去一家餐厅吃饭,问服务员要个菜单,服务员到前台给我拿了个菜单,我看着菜单。
这个过程中,“我”是客户端,“问要菜单”是一个类似于读取文件的HTTP请求,“服务员”是一个媒介, “服务员到前台给我拿了个菜单”是来自服务器的HTTP响应, ‘我看到的菜单"是客户端得到的结果。
2) 带参数请求
假设我看着菜单,告诉服务员我要炒饭,服务员到厨房告诉厨师,厨师从仓库拿出食材,然后做炒饭,之后服务员端着炒饭给我。
“我要炒饭”是一个带有参数的HTTP请求,请求通过服务员(媒介)传到“厨房”。"厨房"是应用程序层, “厨师”是脚本, “仓库”是数据层中的数据库, “食材”是数据,“炒饭”是"厨师"(脚本)处理的结果,然后“炒饭”通过“服务员”带给“我”。
最后更新于
这有帮助吗?