Skip to content

Web基础知识

Web 基础知识

简介

WEB(World Wide Web)就是全球广域网,也称为万维网。它是一种基于超文本和 HTTP 的跨平台的分布式图形信息系统。

超文本是用超链接的方法,把各种不同空间的文字信息组织在一起。

总结来说 Web 万维网,既是一种网络使用环境又是一些相关技术的总称。

  • 技术视角:从技术的角度来看,Web 技术包含网站网页的布局设计、代码编写、数据库建立、网络平台选择等相关技术
  • 用户视角:从网络使用环境的角度来看,Web 就是我们平常使用浏览器上网时所浏览的网页

系统架构

在这里说的系统架构,指的是网络结构模式,现在常见的网络结构模型有两种:

  • B/S:Browser/Server 用浏览器查看的应用程序
  • C/S:Client/Server 需要额外安装客户端的应用程序

B/S 和 C/S 各有千秋,现在应用都非常的广泛。

B/S 架构的产品会更关注浏览器的兼容性测试,需要考虑系统在不同的浏览器里面是否满足需求。

C/S 架构需要关注系统的安装、升级与卸载等测试,需要考虑不同的支持的平台等问题。

很明显,Web 是属于 B/S 架构,app 是属于 C/S 架构。

WEB 架构

Web 是属于 B/S 架构。那在 B/S 架构中又可以怎样分层呢?

目前分 3 层的情况比较多,一般来说是分成这 3 层:

  • 界面层(User Interface layer),又叫做表示层(Presentation Layer)界面层对应的就是 web 前端界面,就是我们用户访问的网页
  • 业务逻辑层(Business Logic Layer)业务逻辑层就是服务端的接口和处理逻辑
  • 数据访问层(Data access layer)那么数据访问层对应的就是 SQL 和存储数据的数据库了。

网页

网页其实就是在浏览器中看到的页面。网页可以分为以下两种类型:

  • 静态网页:和服务器没有数据交互
  • 动态网页:网页数据可以和服务器进行数据交互

访问网页的时候,一般来说是在浏览器种输入网址,然后浏览器会给用户展现网页的内容。

URL

URL:Uniform Resoure Locator,统一资源定位符。指的是网页的地址等。URL 的格式如下

  • schema :// host [ : port] path [query # fragment ]
  • https://www.baidu.com/s?wd=hogwarts&rsv_spt=1&rsv_iqid=0x85a0d0b9000677ee

统一资源标志符 URI 就是在某一规则下能把一个资源独一无二地标识出来。假设所有的 Html 文档都有唯一的编号,能唯一标识一个 Html 文档,那么这个号码就是一个 URI。

而 URL 则通过描述是哪个主机上哪个路径上的文件来唯一确定一个资源,也就是定位的方式来实现的 URI。

HTTP

URL 中最前面的就是协议类型。最常用的就是 HTTP 和 HTTPS 协议。

在这里简单的提一下 HTTP 协议是干什么的。

HTTP 协议(HyperText Transfer Protocol,超文本转移协议),它是用来传输超文本到本地浏览器的传送协议。所有的 www 文件都遵循这个原则,它是用来定义 WEB 浏览器与 WEB 服务器之间交换数据的过程。

HTTP 协议,由请求和响应构成。它本身是一个无状态的协议。客户端只需要简单的向服务器端发出请求,客户端和服务器端都没有必要记录彼此过去的行为,每一次请求之间都是独立的。

浏览器工作原理

我们在访问网页的时候,都是需要用到浏览器的。下面咱们再一起看看浏览器的工作原理是什么。

百度搜索浏览器为例说明浏览器的工作原理:

  • 用户访问百度网页,发送搜索浏览器请求到服务器。
  • 服务器对请求进行解析,并将到数据库中查询对应的数据。
  • 数据库接收并处理请求,得到结果后将结果反馈给服务器。
  • 服务器接收结果反馈,对结果反馈进行解析,并生成 html 文件,放入 HTTP 响应 Response 中,返回给浏览器。
  • 浏览器解析 HTTP Response,并创建 DOM 树。
  • 浏览器下载 CSS 样式,对 DOM 树进行渲染。
  • 浏览器下载 js,并执行 js 程序。
  • 浏览器显示响应内容,用户看到页面内容。

这个问题也是面试当中比较常见的一个问题。

DNS 解析

DNS(Domain Name System,域名系统),它其实就是一个可以把域名和 IP 地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的 IP 地址的过程叫做域名解析(或主机名解析)。

DNS 的工作过程:

  1. 操作系统先检查本地的 hosts 文件是否有这个网址的映射关系,如果有,则调用这个 IP 地址映射,完成解析(hosts文件位置-->C:\Windows\System\drivers\etc\hosts)。
  2. 如果 hosts 文件没有此映射,则将该请求发送到本地域名服务器。
  3. 如果本地没有此映射,则该请求发送到根域名服务器(13个根域名服务器--美国国防部(主根域名)---辅根域名12(美国9、日本1、英国1、瑞典1))。
  4. 根域名服务器将数据返回给本地域名服务器,本地域名服务器将此映射保存到缓存,以备下次使用;本地域名服务器将结果返回。

WEB 服务器

Web 服务器一般指网站服务器,它可以处理浏览器等 Web 客户端的请求并返回相应响应。

目前最主流的 Web 服务器是 Apache、 Tomcat、Nginx 、IIS。

  • Apache:是世界使用排名最高的 Web 服务器软件。它几乎可以运行在所有的计算机平台上。由于 Apache 是开源免费的,速度快、性能稳定,并可做代理服务器来使用。
  • Tomcat:也属于 Apache 软件基金会。性能稳定,而且免费,因而深受 Java 爱好者的喜爱,成为目前比较流行的 Web 应用服务器。
  • Nginx:不仅是一个小巧且高效的 HTTP 服务器,也可以做一个高效的负载均衡反向代理。
  • IIS(Internet信息服务) Internet Information Server的缩写。它是微软公司主推的服务器。IIS 的特点具有:安全性,强大,灵活。

总结

  • Web 相关概念
  • 系统架构
  • 浏览器工作原理