3.1 Web 概述
图 1-1
- Web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和 HTTP 的、全球性的、动态交互的、跨平台的分布式图形信息系统。是建立在 Internet 上的一种网络服务,为浏览者在 Internet 上查找和浏览信息提供了图形化的、易于访问的直观界面,其中的文档及超级链接将 Internet上 的信息节点组织成一个互为关联的网状结构。
- 我们通常所说的 WWW 服务、Web 服务,其实是一个意思,泛指通过 HTTP 协议传输,使用图形化界面来展示信息的一种方式。也就是俗称的网站或者网页
Web 相关概念
- 网页(Web 页面):网页,是网站中的一个页面,通常是网页是构成网站的基本元素,是承载各种网站应用的平台。通俗的说,网站就是由网页组成的。
- 网站(WebSite):网站,指根据一定的规则,使用 HTML 等工具制作的用于展示特定内容的相关网页的集合。简单地说,网站是一种通讯工具,就像布告栏一样,人们可以通过网站来发布或收集信息。网站就是一组相同所属的网页的集合
- HTML(超文本标记语言):“超文本” 就是指页面文本内可以包含图片、链接,甚至音乐、程序等非文字元素。是一种规范,一种标准,超文本标记语言通过标记符号来标记要显示的网页中的各个部分网页的本质是使用 HTML 语言编写代码所产生的文件
- 静态网页:指纯 HTML 语言编写,呈现的内容固定化的 Web 页面静态网页所呈现的所有内容都编写在源文件中,更改内容只能修改源代码
- 动态网页:除了 HTML,还使用相应的动态程序序言编写的 Web 页面动态网页中呈现的内容一般存储在数据库中,通过程序语言来调用数据
- HTTP(超文本传输协议):用于发布和接收 HTML 页面的协议,定义了 Web 客户端和服务器端的请求和应答标准默认工作在 TCP 80 端口
- HTTPS(HTTP over SSL)基于 SSL 的 HTTP 协议,使用 SSL 协议来保护 HTTP 传输,使 HTTP 协议更加安全
- 浏览器(Browser):可以接收并解析 HTML 语言,使 HTML 能够图形化显示,并与 Web 服务器进行交互的应用程序
图 1-2
如图 1-2,要构建一个网站,一般需要具备 Web 服务系统、Web 服务软件、Web 开发语言、数据库这四个组件。这只是比较概括性的划分了 Web 服务的组件,如果要细分的话,还可以细分为操作系统、存储(Web 源文件和数据库)、Web 容器、中间件、Web 服务端语言、Web 开发框架、Web 应用、Web 前端框架、第三方内容等组件。本课程内容不关注 Web 的搭建和优化,所以只按照图示组件讲解
3.2.1 Web 服务系统
Web 作为网络服务,必然需要基于操作系统来运行和工作,这里的 Web 服务系统指的就是 Web 服务运行在哪种操作系统上
- Windows作为使用最广泛的电脑端操作系统,Windows 无疑是良好的运行 Web 服务的操作系统平台。无论是桌面版的 Windows,还是 Server 版的 Windows,都具备运行 Web 服务的能力,但生产环境中的 Web 服务更多的会选择 Server 版的 Windows,如 Windows Server 2003、Windows Server 2008、Windows Server 2012 等Windows 拥有优秀的图形化界面处理能力,也成为了众多 Web 初学者入门会选择的操作系统
- LinuxServer 端的操作系统,无疑是 Linux 的天下。基于开源、高效、安全等优点,Linux 成为了生产环境中搭建 Web 服务的首选操作系统常见的有 CentOS、RatHat、Ubuntu,互联网中几乎 99% 的 Web 服务都运行在 Linux 系统之上
3.2.2 Web 服务软件
Web 服务软件指 Web 服务器,也称为 HTTP 服务器,是响应来自浏览器的 HTTP 请求,并且发送出网页文件的 Web 服务端软件。 想要把自己的网站发布到网络中让用户可以访问,就需要 Web 服务软件来搭建网站
IIS(Internet Information Service)
图 2-1
- IIS 是微软在 Windows 操作系统中自带的 Internet 服务器软件,提供包括 Web、FTP、SMTP 等服务器功能,IIS 也只能运行在 Windows 中
- IIS 在几乎所有版本的 Windows 中都自带了,无需独立下载,全图形化界面操作,继承了 Windows 的操作风格,使用非常简单便捷
- IIS 支持发布静态网站,以及 ASP、ASP.NET 的动态网站,使用相应中间件还可以支持发布 PHP 的动态网站
- IIS 在安全性上一直被业界所诟病,著名的 IIS 6.0 版本中的文件解析漏洞可以让黑客非常轻松的绕过网站限制,上传 WebShell,来获得系统权限。直到 IIS 7.5 版本以后情况才有所好转
Apache