Web 概述
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 做事器进行交互的运用程序。
Web 做事组件
如图,要构建一个网站,一样平常须要具备 Web 做事系统、Web 做事软件、Web 开拓措辞、数据库这四个组件。这只是比较概括性的划分了 Web 做事的组件,如果要细分的话,还可以细分为操作系统、存储(Web 源文件和数据库)、Web 容器、中间件、Web 做事端措辞、Web 开拓框架、Web 运用、Web 前端框架、第三方内容等组件。
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 初学者入门会选择的操作系统。
● Linux
Server 真个操作系统,无疑是 Linux 的天下。基于开源、高效、安全等优点,Linux 成为了生产环境中搭建 Web 做事的首选操作系统;
常见的有 CentOS、RatHat、Ubuntu,互联网中险些 99% 的 Web 做事都运行在 Linux 系统之上。
Web 做事软件
Web 做事软件指 Web 做事器,也称为 HTTP 做事器,是相应来自浏览器的 HTTP 要求,并且发送出网页文件的 Web 做事端软件。想要把自己的网站发布到网络中让用户可以访问,就须要 Web 做事软件来搭建网站。
● IIS(Internet Information Service)
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
Apache 是天下利用排名第一的 Web 做事器软件。它可以运行在险些所有广泛利用的打算机平台上,由于其跨平台和安全性被广泛利用,是最盛行的 Web 做事器端软件之一。它快速、可靠并且可通过大略的 API 扩充,将 Perl/Python 等阐明器编译到做事器中。同时 Apache 音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等;
虽然 Apache 可以非常完美的运行在各种操作系统中,但是绝大多数的 Apache 还是运行在 Linux 之上,Apache 也成为了浩瀚 Linux 发行版本的自带运用;
严格来说,Apache 只支持发布静态网站、但可以通过中间件来支持 PHP,ASP、ASP.NET、JSP,但 Apache 仍旧被大多数用来发布 PHP 网站;
Apache 虽然也存在安全性的漏洞,但由于其开源性,漏洞的修补和版本的更新速率非常快,比较 IIS, Apache 会更加安全。
● Nginx
Nginx 是一款轻量级的 Web 做事器/反向代理做事器及电子邮件(IMAP/POP3)代理做事器,并在一个 BSD-like 协议下发行。其特点是霸占内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页做事器中表现较好,中国大陆利用 nginx 网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
Nginx 只能安装在 Linux 系统中,但是也有 Windows 的移植版;
Nginx 是 Apache 的最佳替代品,比较 Apache,Nginx 在处理高并发业务时,资源花费更低,性能更强;
Nginx 本身只是一款反向代理软件,只支持 HTML 静态页面,须要通过各种中间件来支持其他动态页面;
虽然从性能上来讲,Nginx 要优于 Apache,但 Nginx 也存在模块少、BUG 多,稳定性较差的缺陷。
● Tomcat
Tomcat 做事器是一个免费的开放源代码的 Web 运用做事器,属于轻量级运用做事器,在中小型系统和并发访问用户不是很多的场合下被普遍利用,是开拓和调试 JSP 程序的首选;
Tomcat 可以作为一个 Web 做事软件,同样也可以作为 Apache 的一个中间件来使 Apache 可以支持 JSP 站点;
Tomcat 可以运行在 Windows 和 Linux 中。
● Weblogic
Weblogic 是一个基于 JAVAEE 架构的中间件,WebLogic 是用于开拓、集成、支配和管理大型分布式 Web 运用、网络运用和数据库运用的 Java 运用做事器。
Web 开拓措辞
Web 开拓措辞是指用于编写动态网页的措辞,目前险些所有的网站都是动态网页技能编写的。就算很多网站浏览时创造 URL 后缀是 html,也是通过后台做了动转静。
● PHP(超文本预处理器)
PHP 是一种通用开源脚本措辞。语法接管了 C 措辞、Java 和 Perl 的特点,利于学习,利用广泛,紧张适用于 Web 开拓领域。PHP 独特的语法稠浊了 C、Java、Perl 以及 PHP 自创的语法。它可以比 CGI 或者 Perl 更快速地实行动态网页。用 PHP 做出的动态页面与其他的编程措辞比较,PHP 是将程序嵌入到 HTML(标准通用标记措辞下的一个运用)文档中去实行,实行效率比完备天生 HTML 标记的 CGI 要高许多;PHP 还可以实行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快;
PHP 是目前利用最广泛的 Web 开拓措辞.
● ASP(动态脚本页面)
是微软公司开拓的做事器端脚本环境,可用来创建动态交互式网页并建立强大的 web 运用程序。当做事器收到对 ASP 文件的要求时,它会处理包含在用于构建发送给浏览器的 HTML 网页文件中的做事器端脚本代码。除做事器端脚本代码外,ASP 文件也可以包含文本、HTML(包括干系的客户端脚本)和 com 组件调用;
ASP 大略、易于掩护,是小型页面运用程序的选择。ASP 措辞并不面向工具,开拓难度相对较大,一样平常不用于大中型网站。
● ASP.NET
ASP.NET 又称为 ASP+,不仅仅是 ASP 的大略升级,而是微软公司推出的新一代脚本措辞。ASP.NET 基于 .NET Framework 的 Web 开拓平台,不但接管了 ASP 以前版本的最大优点并参照 Java、VB 措辞的开拓上风加入了许多新的特色,同时也改动了以前的 ASP 版本的运行缺点;
一样平常多见于政府机构和国企的网站。
● JSP(JAVA 做事器页面)
JSP 技能有点类似 ASP 技能,它是在传统的网页 HTML 文件中插入 Java 程序段 (Scriptlet) 和 JSP 标记 (tag),从而形成 JSP 文件,后缀名为 .jsp。用 JSP 开拓的 Web 运用是跨平台的,既能在 Linux 下运行,也能在其他操作系统上运行。
● CMS(内容管理系统)
可以把 CMS 理解为网站模板,许可用户根据统一的网站模板,快速天生自定义的个人或企业站点;CMS 供应常见企业网站所需的的信息展示、信息更新、信息删除、信息管理等功能,包括非常详细的网站风格自定义设置;
CMS 有各种措辞编写的,常见的有 ASP、PHP、ASP.NET;
常见的有动易 CMS,织梦 CMS,PHPcms 等。
数据库
数据库(Database),即为数据的仓库,用于存储和记录数据信息。在动态网站的架构中,页面展示的内容并不是写在页面中,而是存储在数据库中,Web 做事通过动态措辞来调用数据库中的数据,产生静态页面后再通报至客户端浏览器。这样就避免了网站内容更新时去修正源文件。只须要更新数据库就行了。
● MySQL
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开拓,目前属于 Oracle 旗下产品。MySQL 是最盛行的关系型数据库管理系统之一,在 WEB 运用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 运用软件;
目前在 Web 架构中利用最广泛的数据库系统。
● SQL Server
SQL Server 是由微软开拓和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase 和 Ashton-Tate 三家公司共同开拓的,并于 1988 年推出了第一个 OS/2 版本。Microsoft SQL Server 近年来不断更新版本,1996 年,Microsoft 推出了 SQL Server 6.5 版本;1998 年,SQL Server 7.0 版本和用户见面;SQL Server 2000 是 Microsoft 公司于 2000 年推出,目前最新版本是 2017 年份推出的 SQL SERVER 2017。
● Oracle
Oracle 是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一贯处于领先地位的产品。可以说 Oracle 数据库系统是目前天下优势行的关系数据库管理系统,系统可移植性好、利用方便、功能强,适用于各种大、中、小、微机环境。它是一种高效率、可靠性好、适应高吞吐量的数据库办理方案。
● Access
Microsoft Office Access 是由微软发布的小型关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是 Microsoft Office 套件的程序之一。
● 数据库管理工具
PhpMyAdmin:一个以 PHP 为根本,以 Web 办法架构在网站主机上的 MySQL 的数据库管理工具,让管理者可用 Web 图形化界面管理 MySQL 数据库。
Navicat:一套快速、可靠并价格相称便宜的数据库管理工具,专为简化数据库的管理及降落系统管理本钱而设。它的设计符合数据库管理员、开拓职员及中小企业的须要。
Web 做事常见架构
Web 做事架构指选择什么开拓措辞 + Web 做事软件 + 数据库 + 操作系统的组合来搭建 Web 做事,虽然严格来说,所有的组件都可以自由组合,但是由于某几种常被放在一起利用,以是拥有了越来越高的兼容度,逐渐共同组成了一个个强大的 Web 运用程序平台。
● LAMP
Linux + Apache + MySQL + PHP
被誉为 Web 做事黄金组合,适用于大型网站架构,稳定性高,常见于企业网站。大多数网站都采取的该架构。
● LNMP
Linux + Nginx + MySQL + PHP
利用 Nginx 来取代 Apache,对性能有较高哀求的 Web 站点可以选择这种架构组合。
● WAMP
Windows + Apache + MySQL + PHP
把 Apache 放在 Windows 操作系统中运行,适用于中小型网站架构,易于管理,常见于教诲(大学等)、政府奇迹单位。
● 其他
IIS + ASP + Access:大多用在学校、地方政府等站点。
JSP + Tomcat + Oracle:大多用在企业内部 ERP 系统、金融机构站点。
未完待续......
文章作者
润天邓老师
个人先容:14年以上IT从业履历,10年以上IT传授教化履历,5年项目和运维履历。善于打算机网络数通、云打算、系统运维、渗透安全攻防技能及相应方向传授教化。H3C数通全系认证讲师、深信服SCSA/SCSP认证金牌讲师。
通过认证:H3CNE、H3CSE、H3CIE-RS+、SCSA、SCSP、RCNA、RCNP、H3CNE/H3CSE/H3CIE-RS+讲师、SCSA/SCSP讲师。
项目履历:培植银行武汉数据中央蓝海区网络安全卖力人、湖北省国防科工办数据中央项目卖力人、重庆市经信委数据中央项目卖力人。
传授教化理念:用最普通易懂的办法讲解卖力的技能事理;从理论、动手、表达、文档撰写多角度磨炼学员的综合实战能力。
所获证书展示(部分)
H3CNE证书
H3CSE证书
H3CTE证书
H3CIE-RS+证书
H3CNE认证讲师
H3CSE认证讲师
H3CTE认证讲师
H3CIE-RS+认证讲师