web、服务器与框架模式

1、web:表示用户可以浏览的网页(HTML,CSS,JS)

2、服务器

  • 作用
    • 存储web上的信息(网页,图片,音视频,css,js等)
    • 能够处理用户的请求(request),并给出响应(response)
    • 能够执行服务器上的程序
  • web与服务器的关系
浏览器服务器服务器程序web资源和数据库发送请求(request)交程序处理寻找后台资源和数据资源响应(response)浏览器服务器服务器程序web资源和数据库
  • 网站请求全过程
    • 输入域名,通过域名解析(DNS)找到服务器的IP
    • 向服务器发送http/https请求
    • 通过传输层的TCP协议,经过网络传输和路由解析
    • web服务器接收到请求信息(request)
    • 处理请求内容,并获取后台资源
    • 将资源响应给浏览器(response)
    • 浏览器解析响应内容
    • 显示解析后的内容
      web、服务器与框架模式
      web、服务器与框架模式

3、框架

  • 框架的概念
    • 框架是一个为了解决某系开放性问题而存在的一种结构
    • 框架提供了最基本的功能,开发者只需要在这些基本功能的基础上构建自己的操作
  • 优点
    • 快速开发,基本功能已经被提供
    • 可以解决大部分问题
    • bug少,稳定性高
  • 框架分类
    • 前端框架
    • 后端框架
    • 全栈框架
      • web整体的解决方案,包含开发框架,运行环境
      • Rails(Ruby开发的)
      • Django(Python开发的)
  • Python的web框架
    • Django :重量级的Python web 框架
    • Tornado:异步框架
    • Flask:轻量级框架
    • Webpy:轻量级框架
    • Web2py:Webpy的加强版

4、设计模式 和 框架模式

  • 设计模式
    • 是一套被反复使用,多数人知晓并经过分类的代码设计经验的总结
    • 为了解决一些通用性的问题
    • 目的:重用代码并保证代码的可靠性
    • 官方认证的设计模式有23种(问度娘)
  • 框架模式
    • 是解决设计程序框架的代码
    • 在一个框架模式中可包含多种设计模式
    • 代码可重新
    • 主流框架:MVC框架,MTV框架,MVVM框架,ORM模式等
  • MVC框架
    • M:models ,模型层,在程序中主要处理数据,负责在数据库中对数据进行操作(CRUD)
    • V:views,视图层,应用程序中处理显示的部分(HTML,JSP等)
    • C:controllers,控制层,处理用户交互部分,从模型层中取出数据,进行业务处理后,通过视图层展现给客户端
浏览器controllermodelview发送请求(request)调用model根据数据库创建模型执行CRUD操作将model层处理后的数据转发给view响应给浏览器(response)浏览器controllermodelview
  • MTV框架(Django)
    • M:models ,模型层,在程序中主要处理数据,负责在数据库中对数据进行操作(CRUD)
    • T:templates,模板层,用于处理用户显示部分的内容,例如通过HTML展示
    • V:views,视图层,处理用户交互,从模型中获取数据,再将数据给模板,最后展现给客户端
浏览器viewmodeltemplate发送请求(request)调用model根据数据库创建模型执行CRUD操作调用模板将数据填充到模板,并返回view响应给浏览器(response)浏览器viewmodeltemplate