Web工作原理

1  什么是Web

Web,全称Word Wide Web,亦作“WWW”,中文译为全球广域网或万维网,俗称网站。它是一种基于超文本、超媒体、超文本传输协议(HTTP),建立在Internet上的分布式信息服务系统。普通用户可以通过在浏览器输入网址访问对应网站。

说明:互联网和万维网是两个不同的概念,互联网是一个全球互联连接的计算机网络系统。万维网是通过超链接和统一资源标识符连接的全球收集的文件和其他资源的系统。万维网资料通常使用HTTP访问,这是许多互联网通信协议的其中之一。

2 Web访问原理

随着Web技术的兴起,浏览器/服务器结构(B/S结构)成了一种主流的网站设计结构。

B/S结构的工作原理是,用户的电脑端统一提供了浏览器,可通过浏览器访问Web服务器软件,Web服务器软件根据浏览器的请求(Request)信息来调用对应的Web应用程序(网站),若调用成功,则通过Web服务器软件将带数据的网页响应(Response)信息返回指定的用户浏览器端。

由此,一个完整的网站使用架构环境涉及浏览器、Web服务器软件、Web应用程序 这三部分。

  • 浏览器可以自行安装。
  • Web服务器软件,是为网站提供数据通信、网站访问、响应交互等服务,是程序员开发网站时必须考虑的运行环境支持软件,是对socket服务器进行封装。目前比较有名的为 Linux 下的 Apache 服务器软件、Windows 下的 IIS服务器软件,或兼顾不同操作系统的 Nginx 服务器等。
  • Web应用程序就是网站,负责具体的逻辑的处理。为了方便应用程序的开发,则出现了众多的Web框架,例如Django、Flask等。

3 Web工作原理详解

① 首先用户在浏览器上输入想访问的网页的统一资源定位符(URL),或者通过超链接方式链接到要查找的网页或网络资源;

② 然后,经过域名系统的因特网数据库解析,并根据解析结果决定进入哪一个IP地址;

③ 接下来,向选择进入的IP地址工作的服务器发送一个HTTP请求;

④ 网络浏览器接下来的工作是把HTML(超文本标记语言)、CSS(层叠样式表)和其他接收到的文件所描述的内容,加上图像、链接和其他必需的资源,显示给用户。

4 工作原理图解:

(来源于网络)

① web应用程序工作原理流程:

② DNS域名解析过程:

6 web框架的本质

web框架的本质是 socket(套接字)服务端和浏览器客户端的通信。

即,可以将Web框架看成是一个功能强大的socket服务端,用户的浏览器可以看成是拥有可视化界面的socket客户端,两者通过网络请求实现数据交互。从架构层面上可以简单的讲Web框架看作是对前端、数据库的全方位整合。

socket 服务端功能划分:

a =>【 socket通信】:负责和浏览器收发消息  wsgiref/ uWsgi / gunicorn...

b =>【路由与视图匹配】:根据用户访问的不同的url的路径,执行不同的处理函数

c =>【模板语法】:从HTML读取内容,并且完成字符串的替换(Jinja2模板语法)

主流web框架:

1. 框架自带a,b,c -----> Tornado:

Tornado不单单是一个框架,还是个web服务器。Tornado使用了异步非阻塞IO,所以速度非常的快,快到可以开发游戏服务器。

2. 框架自带b,c,用的第三方a(wsgiref模块) ------> django:

大而全,自带的功能组件非常非常多,类似于航空母舰。Django有世界上最大的社区和最多的包,文档非常完善。Django主要是用来搞快速开发的,它的亮点就是快速开发,节约成本。但是要实现高并发的话就要对django进行二次开发。

3. 框架自带b,用的第三方的a和c -------> Flask

小而精,是一个轻量级的web应用框架,自身的功能组件非常非常少,类似于游骑兵。但是第三方模块非常之多,但是有时候也会受限于第三方模块。Flask主要是用来写接口的一个框架,实现前后端分离,提升开发效率,Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展。都需要第三方的扩展来实现。

posted @ 2021-12-09 19:22  Tutu007  阅读(1353)  评论(0编辑  收藏  举报