win服务器

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > win服务器 > win2019 IIS配置与管理

Windows Server 2019 Web服务IIS配置与管理理论篇(术语解释、工作原理与常见的WEB服务器)

作者:NOWSHUT

介绍了部署 Windows Web 服务器 IIS 之前所需要了解的一些关于WEB的基本术语概念,包括Web服务器定义,HTML,HTTP协议,HTTPS协议及其工作原理,同时也介绍了市面上常用的 WEB 服务器,并给出简单的对比

介绍了部署 Windows Web 服务器 IIS 之前所需要了解的一些关于WEB的基本术语概念,包括Web服务器定义,HTML,HTTP协议,HTTPS协议及其工作原理。

(常见的WEB服务器)

介绍了市面上常用的 WEB 服务器,包括 IIS 服务器,Apache 服务器,Tomcat 服务器和Nginx服务器。同时分析了 Nginx 的优势,比较了四个 WEB 服务器的优势及限制。

1. 基本概念

1.1 Web 服务器

一般指网站服务器,也就是我们打开的各种网站的数据来源,它实际上是服务器上运行的应用程序,这个程序通过HTTP协议/HTTPS协议与浏览器等客户端进行通信,把网页展现给用户。

1.2 HTML

HTML是“Hyper Text Markup Language”的缩写,即“超文本标记语言”,是标准通用标记语言下的一个应用。html并不是一种编程语言,它是一种标记语言,是由一些标签组成,主要是用来制作网页的。

为什么说是超文本语言呢?“超文本”指的是它的内容可以是一些非文本的内容,比如:图片、链接、声音等等。

1.3 HTTP 协议

Hyper Text Transfer Protocol ,HTTP 是 TCP/IP 协议簇中的一种协议,超文本传输协议。HTTP是为了发布和检索 HTML 页面而开发出来的

HTTP 是一种数据传输协议,同时, 它也是最常用的应用层协议。 当客户端(尤其是 WEB 浏览器)向服务器发送 请求消息时,HTTP 协议规定了 客户端请求网页消息的类型,以及服务器响应信息的类型。

常用的三种消息类型包括 GET、POST 以及 PUT。

GET消息

GET 是一种客户端数据请求消息。浏览器向WEB服务器发送请求网站页面的 GET 消息。 一旦收到 GET 请求,服务器将立即反馈,反馈的消息内容可以是被请求的文件, 也可以是报错消息,或者是其它信息。

POST消息

POST是一种用于向WEB服务器上传数据的请求消息。例如,当用户在网页的表单(form)中输入数据时,点击确认时,用的就是POST请求,这个时候表单中的数据会被上传到WEB服务器中。所谓的表单,最简单可以理解为登录界面要求输入的用户名和密码。这两个都是表单中的数据类型。

PUT消息

PUT也是一种用于向WEB服务器上传数据的请求消息。与POST相比,PUT用于向WEB服务器上传文件。例如,在参加考试报名时,需要上传个人照片,这时候就是用PUT消息。

1.4 HTTPS 协议

Hyper Text Transfer Protocol over SecureSocket Layer,HTTPS,超文本安全传输协议。

虽然 HTTP 是一种很灵活的协议,但它并不安全。POST 消息以纯文本格式向WEB服务器上传信息,WEB服务器的响应也不加密,所以,这些信息很可能被网络监听工具(例如wireshark等)中途截取。 为了在互联网中进行安全通信,人们发明了安全超文本传输协议 ,也就是 HTTPS协议,来访问或发布 Web 服务器信息。HTTPS 可以采用身份验证和加密两种方式保障客户端和服务器间的数据传输安全。

HTTPS中的S,即SSL,SecureSocket Layer(安全套接层)。
HTTPS = HTTP + SSL/TLS


在这里插入图片描述

SSL/TLS协议,SSL“安全套阶层”协议,TLS“安全传输层”协议,两者都是加密协议,SSL是TSL的前身,TSL是SSL的改进版本。它们位于应用层和传输层之间,用于对应用层(HTTP)数据包加密,然后在传输。同时也进行身份和数据完整性校验。这样就可以保证HTTP明文传输数据的保密性,准确性和完整性。

通俗一点可以这样理解:HTTPS协议是一种使用HTTP协议和SSL/TSL协议(作用:加密数据和数字签名)的混合型协议。HTTP用于传输明文;加密算法用于加密传输明文,确保内容的保密性;数字签名用于对传输明文的校验,验证其完整性。

2. 工作原理

一般的,打开网页大致有三个步骤。

在这里插入图片描述在这里插入图片描述

(1)在浏览器上输入网址,浏览器通过HTTP协议向服务器发起GET请求。
web浏览器是一种客户端应用程序,计算机使用该程序连接到互联网,通过HTTP协议访问存储在Web服务器上的资源。
发起GET请求,即计算机生成HTTP ‘GET’消息发送给Web服务器


在这里插入图片描述

(2)服务器收到请求后,将网页代码返回给客户端浏览器。
和多数服务器进程相同,Web服务器一般以后台服务的方式运行,并且支持不同类型的文件。


在这里插入图片描述

(3)浏览器收到请求后,按照规则对HTML进行解释,并显示为网页。
浏览器可以解释并显示多种数据类型。例如纯文本或者构成网页的超文本标记语言HTML


在这里插入图片描述

这种客户端/服务器架构称为C/S架构。一台服务器可以应对多个客户端。

参考资料 Microsoft DocsIIS Web Server Overview

Microsoft DocsInternet Information Services (IIS)

3. 常见的WEB服务器

目前,最主流的WEB服务器有以下几个:

IISApacheTomcatNginx

3.1 IIS服务器

在这里插入图片描述

Internet Information Services(简称IIS),是微软公司推出的WEB服务器组件,也是Windows Server默认,特有的,自带的WEB服务器,需要用户手动添加组件。IIS组件包括WEB服务器、FTP服务器、NNTP服务器和SMTP服务器。

WEB服务器用于网页浏览。FTP服务器用于文件传输。NNTP服务器用于新闻服务。SMTP服务器用于邮件发送。

IIS支持的操作系统:Windows 系统

IIS组件使得用户在网上发布信息变得相对容易,人们口中提到的IIS大部分时候特指其中的WEB服务器,IIS具有强大、安全和灵活等特性,但是只能在Windows系统上运行。

在这里插入图片描述

IIS支持的语言:ASP.NET、PHP、JSP

IIS对ASP.NET有着极好契合性,但是对PHP和JSP而言,相对操作比较麻烦。所以一般只在使用ASP.NET进行开发时,选用IIS作为WEB服务器。

3.2 Apache服务器

在这里插入图片描述

Apache HTTP Server(简称Apache)是目前世界上最流行的WEB服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器。Apache是Apache软件基金会的一个开放源码的网页服务器,它是一个自由软件,所以不断有工程师在为Apache开发新的功能,新的特性,修改bug。

The Apache HTTP Server Project is an effort to develop and maintain an open-source HTTP server for modern operating systems including UNIX and Windows. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.

Apache的特点:免费,简单,速度快,性能稳定和可移植性强,并且可以当成代理服务器使用。

Apache支持的操作系统:Unix、Linux、Windows、Mac OS等系统,支持绝大部分的系统平台,尤其对Linux系统完美契合。

在WEB服务器中,Apache是纯粹的WEB服务器,本身只支持HTML静态网页,但是可以和其他服务器一起工作或者添加插件来支持PHP、JSP、ASP等。

详细请前往Apache HTTP Server官网查阅:httpd.apache.org

3.3 Tomcat服务器

在这里插入图片描述

Apache Tomcat(简称Tomcat)是一个开放源代码的WEB应用服务器,属于轻量级应用服务器。同时它也是一个基于java,可运行Servlet和JSP的应用软件容器。所以它支持JSP动态页面,也可以处理HTML,但是 理html的效率不如Apache 。

The Apache Tomcat® software is an open source implementation of the Java Servlet, JavaServer Pages, Java Expression Language and Java WebSocket technologies.

在Java开发WEB应用时,我们经常在编辑工具中(例如,Eclipse)安装Tomcat服务器,以便JSP和HTML页面可以在浏览器中显示网页。

Apache和Tomcat的关系

Apache只支持静态网页 , 如果要在Apache环境下运行JSP的话, 就需要一个解释器来执行JSP网页, 而这个JSP解释器就是Tomcat。

Apache支持静态页面解析,Tomcat支持动态页面解析,当WEB使用Java时,那么Apache+Tomcat是完美组合。

网上有个比较形象的比喻说Apache像一辆卡车,卡车上面可以装一些东西比如HTML,但是不能装动态的水(JAVA),而Tomcat就是一个木桶,可以用来装水(JAVA)。水可以放在卡车上也可以放在其他地方。

在这里插入图片描述

详细请前往Apache Tomcat官网查阅:tomcat.apache.org

3.4 Nginx

在这里插入图片描述

Nginx是俄罗斯人Igor Sysoev编写的异步框架的,轻量级Web服务器,它的发音为 [ˈendʒɪnks] ,它不仅是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。

Nginx的主要作用:

反向代理负载均衡HTTP缓存 Nginx的优势/Nginx和Apache

Nginx 的编写有一个明确目标就是超越 Apache Web 服务器的性能[1]。Nginx 提供开箱即用的静态文件,使用的内存比 Apache 少得多,每秒可以处理大约四倍于 Apache 的请求[2]。 在低并发下 Nginx 的性能与 Apache 相当(有时候还低于),但是在高并发下 Nginx 能保持低资源低消耗高性能。Nginx 的优点还包括:高度模块化的设计,模块编写简单,以及配置文件简洁。

相比起在Linux下的Nginx,在Windows Server下的Nginx的稳定性较差。而Apache对两者都有较好的支持。

截至2019年12月,差不多世界上每3个网站中就有1个使用Nginx。

详细请前往Nginx官网查阅:nginx.org

3.5 IIS、Apache、Tomcat和Nginx的简单的比较

比较选项/WEB服务器IISApacheTomcatNginx
服务器包括HTTP服务器HTTP服务器Java应用服务器轻量级HTTP服务器
是否支持静态网页是(不理想)
自身是否支持动态网页
厂商微软ApacheApacheNginx社区
价格收费免费免费免费(有收费版)
支持的操作系统仅限WindowsWindows、LinuxWindows、LinuxWindows(不理想)、Linux

参考资料 Microsoft DocsIIS Web Server Overview

Microsoft DocsInternet Information Services (IIS)

到此这篇关于Windows Server 2019 Web服务IIS配置与管理理论篇(术语解释、工作原理与常见的WEB服务器)的文章就介绍到这了,更多相关win2019 IIS配置与管理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文