Web 框架是如何工作的?

  • 首先,计算机会将网站的 HTML指令 发送到 Web 应用程序。即使应用程序是JSON 或 CSS 代码也会被转换为 HTML发送到 Web应用程序。
  • 第二步,接收到 HTML 指令的 Web 应用从Web 服务器(也称为应用服务器)“下载” 网站。
    这一步中,这个过程根据“请求 – 响应”模型网络协议实现。浏览器从 Web 应用进程 “请求”(Request) 数据,Web 应用进程通过发送数据来 “响应”(Respond)。
    “请求 – 响应”动作只是单向的。只有 Web 浏览器可以请求数据,而 Web 应用进程不能。发送此请求指令的不同方式是 HTTP Get、HTTP Post 和 HTTP Response 代码。

Web 框架架构组件的元素

Web 框架架构的组件 包括以下元素——管理工具 (Administration Tool)、客户端层 (Client Layer)、推荐服务器 (Recommender Server) 和生成服务器 (Generator Server)。

  • 管理员层或工具,包含管理、API 文档和管理。
  • Recommender Server 包含 API 层、应用层(包含在线、动作、离线推荐服务)和具有数据库动作和关联规则的数据库层。
  • 生成服务器有一个数据挖掘层 (Data mining layer),它包含基于动作 (action-based) 和基于内容 (content-based) 的生成器。

Web 框架架构分类

  • 基于动作的架构 (Action-based Web Framework),Model-View-Controller, 模型+视图+控制器架构
    MVC 是基于推送的逻辑架构。Web 应用被分成三个部分:Model、View 和 controller。数据库中的 Table 表示为 Model,业务逻辑架构包含在 Controller 中。
    这种架构的好处是它允许代码重用并且模块化代码。这种架构使 Web 应用程序能够为用户显示网页,并为远程应用程序显示 Web 界面。
    MVC 架构将“显示层 (Presentation)”和“业务逻辑层 (Logic Model)”分开,具有开发快捷、部署方便、可重用性高、维护成本低的优点。
    基于动作的 Web 框架有 Ruby on Rails、Symfony、Spring MVC、Stripes、Django 和 Diamond。
  • 基于组件的框架 (Component-based Framework)
    这种框架从控制器 (controller) 或视图层 (View Layer) “拉取”数据。这种架构允许 Web 应用程序为单个视图拉取多个控制器。使用这种架构的框架有 Wicket、Lift、Tapestry、JavaServer Faces 和 JBoss Seam 等。
  • 三级组织架构 (Three-tier Organization)
    这种架构具有三个物理层——应用程序 (application)、数据库 (database) 和客户端 (client)。该应用程序使用业务逻辑在服务器上运行并与Web 浏览器客户端进行通信。 Web 浏览器在由 Web 应用程序生成的 HTML 上运行。

Web架构的应用场景

  • 服务器端应用 (Server-side Application)
    最初开发Web 框架时,是基于服务器的。这种类型的框架是必不可少的,因为它具有必要的应用程序逻辑,以确保适当的用户体验和用户界面上的交互。这些框架控制和管理数据库、处理 HTTP 请求以及对应映射 URL。
    流行的服务器端框架有 Django、Symfony、Ruby on Rails、ASP.NET 和 Express Node等。
  • 客户端应用 (Client-side Application)
    这个框架处理用户看到和导航的界面。渲染、播放声音、播放视频、路由输入等功能由前端应用程序框架处理。这种动态框架也称为单页应用程序 (Single Page Application)。它在不加载新页面的情况下更新用户正在查看的同一页面上的数据。此过程可提高性能并减少内容重新加载时间。
    客户端框架包括 Angular.js、JavaScript、Bootstrap、React js、Semantic UI 和 Backbone等。
  • 移动端应用 (Mobile Application Architecture)
    移动应用架构分为三层,即界面 (Presentation)、数据 (Data) 和业务 (Business)。
    显示或用户界面是面向用户的层。所有的交互和操作都发生在这一层。
    业务层负责工作流程并管理最终用户行为。
    数据层管理数据功能、配置、通信和设置。
    在开发移动框架应用程序时,需要考虑移动操作系统、存储空间、设备屏幕分辨率、屏幕尺寸和处理器能力等。

    这节介绍了如何开发一个 Web 网站或者是应用,主要的 Web 架构类型。祝大家周末愉快!