# 1.2 ngnix的功能特性

Nginx服务器以其功能丰富著称于世。它既可以作为<mark style="color:blue;">**HTTP服务器**</mark>，也可以作为<mark style="color:blue;">**反向代理服务器**</mark>或者<mark style="color:blue;">**邮件服务器**</mark>；能够快速响应静态页面（HTML）的请求；支持FastCGI、SSL、Virtual Host、URL Rewrite、HTTP Basic Auth、Gzip等大量实用功能；并且支持更多的第三方功能模块的扩展。

将Nginx提供的基本功能服务从大体上归纳为**基本HTTP服务**、**高级HTTP服务**和**邮件服务**等三大类。

* Nginx提供基本HTTP服务，可以作为**HTTP代理服务器**和**反向代理服务器**，支持通过**缓存加速**访问，可以完成简单的**负载均衡**和**容错**，支持**包过滤**功能，支持**SSL**等。
* Nginx提供高级HTTP服务，可以进行自定义配置，支持**虚拟主机**，支持**URL重定向**，支持**网络监控**，支持**流媒体**传输等。
* Nginx作为邮件代理服务器是最早开发这个产品的目的之一，它支持**IMAP/POP3代理服务**功能，支持内部**SMTP代理服务**功能。

## 1. 基本HTTP服务

在Nginx提供的基本HTTP服务中，主要包含以下功能特性：

* 处理静态文件（如HTML静态网页及请求）；处理索引文件以及支持自动索引。
* 打开并自行管理文件描述符缓存。
* 提供反向代理服务，并且可以使用缓存加速反向代理，同时完成简单负载均衡及容错。
* 提供远程FastCGI服务的缓存机制，加速访问，同时完成简单的负载均衡以及容错。
* 使用Nginx的模块化特性提供过滤器功能。Nginx基本过滤器包括gzip压缩、ranges支持、chunked响应、XSLT、SSI以及图像缩放等。其中，针对包含多个SSI的页面，经由FastCGI或反向代理，SSI过滤器可以并行处理。
* 支持HTTP下的安全套接层安全协议SSL。

## 2. 高级HTTP服务

在Nginx提供的高级HTTP服务中，主要包含以下功能特性：

* 支持基于名字和IP的虚拟主机设置。
* 支持HTTP/1.0中的KEEP-Alive模式和管线（PipeLined）模型连接。
* 支持重新加载配置以及在线升级时，无须中断正在处理的请求。
* 自定义访问日志格式、带缓存的日志写操作以及快速日志轮转。
* 提供3xx～5xx错误代码重定向功能。
* 支持重写（Rewrite）模块扩展。
* 支持HTTP DAV模块，从而为Http WebDAV提供PUT、DELETE、MKCOL、COPY以及MOVE方法。
* 支持FLV流和MP4流传输。
* 支持网络监控，包括基于客户端IP地址和HTTP基本认证机制的访问控制、速度限制、来自同一地址的同时连接数或请求数限制等。
* 支持嵌入Perl语言。

## 3. 邮件代理服务

Nginx提供邮件代理服务也是其基本开发需求之一，主要包含以下功能特性：

* 支持使用外部HTTP认证服务器重定向用户到IMAP/POP3后端，并支持IMAP认证方式（LOGIN、AUTH LOGIN/PLAIN/CRAM-MD5）和POP3认证方式（USER/PASS、APOP、AUTH LOGIN/PLAIN/CRAM-MD5）。
* 支持使用外部HTTP认证服务器认证用户后重定向连接到内部SMTP后端，并支持SMTP认证方式（AUTH LOGIN/PLAIN/CRAM-MD5）。
* 支持邮件代理服务下的安全套接层安全协议SSL。
* 支持纯文本通信协议的扩展协议STARTTLS。
