网络服务器是能够满足万维网客户端请求的服务器软件或专用于运行所述软件的硬件。网络服务器通常可以包含一个或多个网站。网络服务器通过超文本传输协议和其他几个相关协议处理传入的网络请求。[1]
网络服务器的主要功能是存储、处理网页并将其提交给客户端。[2]客户机和服务器之间的通信使用超文本传输协议(HTTP)进行。提交的页面是最常见的超文本标记语言文档,除了文本内容之外,还可能包括图像、样式表和脚本。
用户代理(通常是网络浏览器或网络爬虫)通过使用超文本传输协议对特定资源发出请求来启动通信,服务器将回应资源的内容,如果不这样做,将相应错误的消息。资源通常是服务器辅助存储上的真实文件,但情况不一定如此,这取决于网络服务器的实现方式。
虽然主要功能是提供内容,但是全面实现超文本传输协议还包括从客户端接收内容的方式。此功能用于提交网络表单,包括上传文件。
许多通用网络服务器也支持使用活动服务器页面(ASP)、超文本预处理器(PHP)或其他脚本语言的服务器端脚本。这意味着网络服务器的行为可以在单独的文件中编写脚本,而实际的服务器软件保持不变。通常,该函数用于动态生成超文本标记语言文档(“动态”),而不是返回静态文档。前者主要用于从数据库中检索或修改信息。后者通常要快得多,也更容易缓存,但不能传递动态内容。
网络服务器通常嵌入在打印机、路由器、网络摄像头等设备中,仅服务于本地网络。然后,网络服务器可以用作监控或管理所述设备的系统的一部分。这通常意味着无需在客户端计算机上安装额外的软件,因为只需要一个网络浏览器(现在大多数操作系统都包括该浏览器)。
1989年3月,蒂姆·伯纳斯·李爵士向他的雇主欧洲粒子物理研究所(CERN)提出了一个新项目,目标是通过使用超文本系统来简化科学家之间的信息交流。[3][4] 该项目导致伯纳斯-李在1990年写了两个项目:
1991年至1994年间,早期用于通过万维网冲浪和交换数据的技术的简单性和有效性,有助于将其移植到许多不同的操作系统,并在科学组织和大学之间以及随后在工业中推广使用。
1994年,伯纳斯-李决定成立万维网联盟(W3C),以通过标准化过程规范所涉及的许多技术(超文本链接协议、超文本链接协议等)的进一步发展。
网络服务器能够将统一资源定位器的路径组件映射到:
对于静态请求,客户端指定的网址路径和网络服务器的根目录相关。
请考虑以下网址,因为它是由客户端通过超文本传输协议请求的:
http://www.example.com/path/file.html
客户端的用户代理将通过以下HTTP 1.1请求将其转换为与www.example.com的连接:
获取/路径/文件 主机: www.example.com
www.example.com的网络服务器将把给定的路径附加到其根目录的路径上。在Apache服务器上,这通常是/home/www(在Unix机器上,通常是/var/www)。结果是本地文件系统资源:
/home/www/path/file.html
然后,网络服务器读取文件(如果存在),并向客户端的网络浏览器发送响应。响应将描述文件的内容并包含文件本身,或者将返回一条错误消息,指出文件不存在或不可用。
网络服务器可以集成到操作系统内核中,也可以集成到用户空间中(像其他常规应用程序一样)。
以用户模式运行的网络服务器必须请求系统允许使用更多内存或更多CPU资源。这些对内核的请求不仅需要时间,而且并不总是得到满足,因为系统会为自己的使用保留资源,并为所有其他正在运行的应用程序共享硬件资源而负责。在用户模式下执行也可能意味着无用的缓冲副本,这是用户模式网络服务器的另一个缺点。
网络服务器(程序)已定义了负载限制,因为它只能处理每个IP地址(和TCP端口)中的有限数量的并发客户端连接(通常在2到80,000之间,默认情况下在500到1,000之间),并且它每秒只能服务于特定的最大请求数(RPS,也称为每秒查询或QPS),具体取决于:
当网络服务器接近或超过其极限时,它将变得无响应。
由于以下原因,网络服务器随时可能超载:
网络服务器过载的症状是:
为了部分克服超过平均负载限制并防止过载,大多数流行的网站使用常见的技术,例如:
http://images.example.com
http://example.com
以下是W3Techs网站使用网络服务器的最新统计数据,显示了互联网上所有顶级网络服务器的市场份额。
产品 | 发行商 | 百分比 |
---|---|---|
Apache | Apache | 44.3% |
nginx | NGINX, Inc. | 41.0% |
IIS | Microsoft | 8.9% |
LiteSpeed Web Server | LiteSpeed Technologies | 3.9% |
GWS | 0.9% |
其他所有被使用的网络服务器占比不到1%的网站。
以下是W3Techs网站使用网络服务器的最新统计数据,显示了互联网上所有顶级网络服务器的市场份额。
产品 | 发行商 | 百分比 |
---|---|---|
Apache | Apache | 45.9% |
nginx | NGINX, Inc. | 39.0% |
IIS | Microsoft | 9.5% |
LiteSpeed Web Server | LiteSpeed Technologies | 3.4% |
GWS | 1.0% |
其他所有被使用的网络服务器占比不到1%的网站。
以下是Netcraft2017年2月网络服务器调查,是对互联网上所有顶级网络服务器的市场份额的最新统计。
产品 | 发行商 | 2017年1月 | 百分比 | 2017年2月 | 百分比 | 变化 | 图表颜色 |
---|---|---|---|---|---|---|---|
IIS | Microsoft | 821,905,283 | 45.66% | 773,552,454 | 43.16% | -2.50 | 红色 |
Apache | Apache | 387,211,503 | 21.51% | 374,297,080 | 20.89% | -0.63 | 黑色 |
nginx | NGINX, Inc. | 317,398,317 | 17.63% | 348,025,788 | 19.42% | 1.79 | 绿色 |
GWS | 17,933,762 | 1.00% | 18,438,702 | 1.03% | 0.03 | 蓝色 |
以下是Netcraft2016年2月网络服务器调查,是对互联网上所有顶级网络服务器的市场份额的最新统计。
产品 | 发行商 | 2016年1月 | 百分比 | 2016年2月 | 百分比 | 变化 | 图表颜色 |
---|---|---|---|---|---|---|---|
Apache | Apache | 304,271,061 | 33.56% | 306,292,557 | 32.80% | 0.76 | 黑色 |
IIS | Microsoft | 262,471,886 | 28.95% | 278,593,041 | 29.83% | 0.88 | 红色 |
nginx | NGINX, Inc. | 141,443,630 | 15.60% | 137,459,391 | 16.61% | -0.88 | 绿色 |
GWS | 20,799,087 | 2.29% | 20,640,058 | 2.21% | -0.08 | 蓝色 |
Apache、IIS和Nginx是万维网上最常用的网络服务器。[10]
^"What is web server?'". webdevelopersnotes. 2010-11-23. Retrieved 2019-02-01..
^Patrick, Killelea (2002). Web performance tuning (2nd ed.). Beijing: O'Reilly. p. 264. ISBN 059600172X. OCLC 49502686..
^Zolfagharifard, Ellie (2018-11-24). "'Father of the web' Sir Tim Berners-Lee on his plan to fight fake news". The Telegraph (in 英语). ISSN 0307-1235. Retrieved 2019-02-01..
^"History of Computers and Computing, Internet, Birth, The World Wide Web of Tim Berners-Lee". history-computer.com. Retrieved 2019-02-01..
^Macaulay, Tom. "What are the best open source web servers?". ComputerworldUK. Retrieved 2019-02-01..
^Fisher, Tim; Lifewire. "Getting a 502 Bad Gateway Error? Here's What to Do". Lifewire (in 英语). Retrieved 2019-02-01..
^Fisher, Tim; Lifewire. "Getting a 503 Service Unavailable Error? Here's What to Do". Lifewire (in 英语). Retrieved 2019-02-01..
^"What is a 502 bad gateway and how do you fix it?". IT PRO (in 英语). Retrieved 2019-02-01..
^Handbook of digital forensics and investigation. Casey, Eoghan., Altheide, Cory. Burlington, Mass.: Academic Press. 2010. p. 451. ISBN 9780080921471. OCLC 649907705..
^Hadi, Nahari (2011). Web commerce security: design and development. Krutz, Ronald L. Indianapolis: Wiley Pub. ISBN 9781118098899. OCLC 757394142..
暂无