http服务器是什么

1.1.Web服务器的概念和基本原理。Web服务器的历史1989年,互联网之父伯纳斯李向他的雇主欧洲核子研究中心提出了一个新项目,旨在通过使用超文本系统方便科学家之间的信息交流。这个项目促使Berners-Lee在1990年编写了两个程序:一个叫万维网的浏览器。世界上第一台网络服务器,...

1.1.Web服务器的概念和基本原理。Web服务器的历史

1989年,互联网之父伯纳斯·李向他的雇主欧洲核子研究中心提出了一个新项目,旨在通过使用超文本系统方便科学家之间的信息交流。这个项目促使Berners-Lee在1990年编写了两个程序:

一个叫万维网的浏览器。世界上第一台网络服务器,后来被称为CERN httpd,从1991年到1994年运行在NeXTSTEP上。用于通过万维网冲浪和交换数据的早期技术的简单性和有效性帮助它被移植到许多不同的操作系统,然后在科学组织和大学中使用,然后传播到行业。

1994年,Berners-Lee决定成立万维网联盟(W3C)来管理许多相关技术(HTTP、HTML等)的进一步发展。)通过标准化流程。

Web服务器的主要功能是存储、处理和向客户交付网页。客户端和服务器之间的通信使用超文本传输协议(HTTP)来执行。最常见的交付页面是HTML文档,除了文本内容之外,可能还包含图像、样式表和脚本。

一个用户代理,通常是web浏览器或者web爬虫,发起HTTP请求获取服务器资源,服务器根据请求返回资源或者响应某种原因的错误消息。这种资源通常是服务器辅助存储器上的真实文件,但根据Web服务器的实现,情况不一定如此。

虽然主要功能是提供内容,但是HTTP的完整实现还包括从客户端接收内容的方式。此功能用于提交Web表单,包括上传文件。许多通用Web服务器也支持使用动态服务器页面(ASP)、PHP或其他脚本语言的服务器端脚本。这意味着Web服务器的行为可以编写在一个单独的文件中,而实际的服务器软件保持不变。通常,该函数用于动态生成HTML文档(“实时”),而不是返回静态文档。前者主要用于从数据库中检索或修改信息。后者通常更快,更容易缓存,但它不能提供动态内容。

网络服务器不仅用于服务万维网。它们也可以嵌入到打印机、路由器、网络摄像机等设备中。,并且只服务于本地网络。然后,web服务器可以用作监控或管理所述设备的系统的一部分。这通常意味着不需要在客户端计算机上安装其他软件,因为只需要一个web浏览器(现在包含了大多数操作系统)。

1.1.2.web服务器的工作原理

HTTP是基于TCP的应用层协议,用于用户代理和Web服务器之间的通信。Web服务器通常以问答的方式工作:

在用户代理上,用户发起资源请求,其内容包括但不限于:指定资源的唯一标识符URI,指示动作类型(GET/POST/DELETE/PUT …)用户代理解析用户输入的URI,并从中获取目标域名,由DNS服务器解析。如果在URI中指定了IP地址,则不需要此步骤。如果与服务器的会话尚未建立,先建立TCP连接,完成HTTP协商(确定双方可接受的处理方式,包括协议版本、加密、内容格式等。).代理将请求内容封装到HTTP数据包中,并发送给服务器。服务器接收资源请求,解包并以先前协商的方式处理它。服务器请求的资源被封装到HTTP数据包中,并返回给用户代理。

接下来,我们来重点说说服务器的工作原理。

更多linux内核视频教程文字资料免费获取后台私信[内核]

TCP监控模块服务器监控某个端口(一般默认端口为8080,用户可以设置其他端口)与用户代理建立连接。一旦建立了连接,来自用户代理的后续HTTP请求将不需要进入**模块。这里的预处理主要做三件事:1。从TCP消息中获取HTTP请求消息。2.根据与用户代理的协商进行解密、解压缩、安全等。3.根据服务器自身的配置,执行安全处理,建立会话状态等等。UR解析URL字符串和动作,确定用户代理请求的资源,根据匹配规则(通常根据正则表达式+后缀)路由到静态资源处理模块或动态资源处理模块。静态资源处理模块负责寻找静态资源,比如HTML/Javascript/CSS文件/图片/图像,确定内容是字符流还是字节流,确定对应的MIME。比如HTML生成的是MIME为text/html的字符流,mpeg视频文件生成的是MIME为video/mpeg的字节流。动态资源处理模块运行业务逻辑处理,并动态确定返回资源的内容和类型。内容和类型的处理原则同上。后处理根据与用户协商的协议进行加密、压缩、安全处理等。输出模块将处理后的内容和类型封装成HTTP消息,并将TCP消息(内容为HTTP消息)发送给TCP连接另一端的用户代理。

主流Web服务器

Tomcat,Jetty,WebSphere,WebLogic,Kerstrel等等也是广泛使用的。

1.2.web应用容器的概念和基本原理1.2.1。web应用程序容器的来源

网络的出现标志着WWW时代的到来,世界变得更加扁平。当初尝到甜头的先行者并不满足于在互联网上获取静态资源,于是出现了CGI脚本来动态获取资源。后来网络发展的方向是增强Web服务器动态获取资源的能力。以下是代表性的动态技术:

技术术语|功能| |:————- |:————- | :————-|| CGI(通用***接口)|作为独立进程运行,可以用多种语言开发,如C、C++、VB、Perl,灵活但效率低,维护复杂|| PHP |服务器端嵌入式HTML脚本,开源,功能强大,扩展性差|| JSP|服务器端嵌入式HTML脚本,跨平台,部署前需要编译。主要缺点是写JSP比较复杂,需要熟悉J***A及相关技术|| ASP |服务器端嵌入HTML脚本,开发简单,功能强大,只能在windows下运行

随后,Web服务器向企业应用发展,快速的业务变化迫使Web开发人员面临新的挑战:如何快速编写健壮、可靠、面向业务的程序并顺利部署?解决这一挑战的有效方法是创建一个Web程序开发框架(包括运行环境,如解释性JSP和Web API),它可以解决健壮性和可靠性问题,并提供快速开发接口。换句话说,开发者只需要专注于实现业务本身,如果他们有更高的要求,他们可以定制和扩展框架。这个框架的另一个名字是Web应用程序容器。

1.2.2.web应用容器的基本工作原理

与Web服务器相比,容器增加或加强了以下模块:

分配线程池资源容器为每个要处理的请求分配一个线程,通常使用线程池来高效地计算CPU资源。封装请求上下文一个请求对应一个请求上下文,主要封装用户请求的主要组成部分:URL、HTTP请求头,以及基于请求头构建的Session、Cookie等对象,方便编程。封装响应上下文一个请求对应一个响应上下文,主要用于向用户代理返回资源。您可以在其中写入输出流,或者重定向它,或者返回一个错误代码等等。URL在容器里,运行开发者设置不同的路由匹配规则,比如。HTM回到了。HTML,或者。xyz回到。HTML资源通过自定义。更灵活的配置,请参考J***A MVC或ASP.NET MVC的配置方案。动态资源处理模块对于这里的特定容器和开发语言通常有自己高效的开发模型,比如J***A的servlet,ASP的Web Form。NET和MVC。这里的回收资源将回收刚才的线程资源。对于线程重用,除非server 空空闲,否则线程一般会被放回线程池。可以看出,Web容器本身具有作为Web服务器的功能。其实通常实现Web容器功能的服务器都是Web服务器,比如Tomcat、IIS、Jetty。

主流Web容器

包括Tomcat、IIS、Jetty。

WebSphere、WebLogic等。也被广泛使用。

1.3.web应用服务器的概念和基本原理

在Web服务器发展的同时,应用服务器也长期存在和发展。一些公司为Unix开发了Tuxedo(面向事务的中间件)、TopEnd、Encina和其他产品,这些产品都是从IMS和CICS这样的主机应用程序管理和监控环境中派生出来的。这些产品中的大多数都指定了一个“封闭的”特定于产品的通信协议来互连胖客户端和服务器。到了90年代,这些传统的应用服务器产品开始嵌入HTTP通信功能,起初要使用***来实现。很快他们之间的界限开始模糊。

与此同时,web服务器也越来越成熟,可以处理更高的负载、更多的并发和更好的功能。应用服务器开始增加越来越多的基于HTTP的通信功能。所有这些都导致了web服务器和应用服务器之间界限的缩小。

目前,“应用服务器”和“web服务器”的界限已经变得模糊。但人们也区分这两个术语以示强调。

当有人说“web服务器”时,你通常会认为它是一个以HTTP为核心,以web UI为向导的应用程序。当有人谈到“应用服务器”时,你可能会想到“高负载、企业级特性、事务和队列、多渠道通信(HTTP和更多协议)”。但是现在基本上同样的产品提供了这些需求。

Web应用服务器包含Web容器,同时内置事务、安全、集成、通信、高可用等功能。它支持企业应用程序,大大减少了重复开发量,保证了业务系统的快速开发和部署,同时它也是一个Web服务器。Web应用服务器可以选择使用大厂的WebLogic、WebSphere这样的重量级产品,也可以使用Tomcat、jetty这样的web containner加上第三方框架(spring、hibernate等。)来构建自己的应用服务器;在下面。NET核心平台,可以选择IIS、Apache、Nginx和ASP.NET核心来构建。

1.4.反向代理的概念和基本原理1.4.1。反向代理的基本概念

反向代理是代理服务器的一种。它根据客户端的请求,从后端服务器(比如Web服务器)获取资源,然后将这些资源返回给客户端。与正向代理不同,正向代理作为一种媒介,将在互联网上获得的资源返回给相关联的客户端,而反向代理用作服务器端(如Web服务器)的代理,而不是客户端。客户端可以通过正向代理访问很多不同的资源,而反向代理是指很多客户端通过它访问不同后端服务器上的资源,不知道这些后端服务器的存在,认为所有的资源都来自这个反向代理服务器。

互联网中的请求被发送到反向代理,反向代理将请求转发到内部网中的服务器。

反向代理的主要功能是:

加密和SSL加速负载均衡缓存静态内容压缩慢上传安全防火墙外网发布突破互联网封锁解决跨域问题1.4.2。反向代理TCP监控模块的基本工作原理监控TCP请求,这里的请求是指消息内容为某个应用层协议(如HTTP、FTP、EMAIL等应用层协议)的请求。至于这里是否会生成一个单独的线程开始处理,这个就看服务器自己了。目前最流行的方法是先进入消息队列,然后异步处理,这样可以大大提高代理的吞吐量和稳定性。匹配的代理服务器代理服务器会根据一个表继续处理(存储外部url和内部服务器的对应关系,通常需要手动设置)。否则,它将根据外部网络协议,例如HTTP协议,返回错误消息,并且这将返回到404。负载均衡策略的应用如果是大规模的互联网应用,为了稳定整个系统,解决单点问题,需要根据用户自定义的策略,将消息合理的转发到代理服务器。简单的策略是哈希分布或者随机分布,一般可以由用户配置和选择。这里按照约定的外网应用协议,预处理过程是解密、安全、会话、解压等。生成新的网络消息。这里按照约定的内网应用协议生成网络消息,加密、安全、会话、压缩等处理都可能在这里进行。转发到代理服务器将新生成的网络消息发送到内网服务器(无论是Web服务器、Ftp服务器、邮件服务器等。).接受网络消息接受内网服务器反馈的网络消息。这里,预处理按照约定的外网应用协议,进行加密、安全、会话、压缩等处理。此时,资源模块生成符合外网应用协议要求的消息,并发送给外网连接的另一端(用户代理)。

通用反向代理服务器

你必须记住他们的名字:Ngnix,IIS,Apache。1.5.摘要

从概念上讲,Web服务器是一个提供WWW服务的程序;Web容器是提供给开发者的框架;Web应用服务器的内容要丰富得多,可以由通常遵循一定工业标准、定制扩展功能的厂商来做,也可以由开源组件的轻量级组装来做。反向代理服务器在企业应用中表现突出,具有集中安全和负载均衡的优势。如今,这四个概念的界限越来越模糊。看看这张表:

软件名词

是Web服务器

是Web容器

是Web应用服务器

可以反向代理吗?

(同ImmigrationInspectors***检查)

Nginx

街头流氓

雄猫

码头

万维网环球服务系统

中间件

凯尔斯特勒

什么事?

Http.sys

关于Kerstrel是否是web容器有两种观点:

1.因为Kerstrel不提供写应用的框架,所以不是容器;Asp.net是容器,因为它提供了一个开发应用程序的框架和一个web应用程序(MVC,Web API)的运行环境。

2.Kerstrel提供了运行环境。

我们欢迎您的强烈意见,以帮助我们澄清ASP.NET核心集装箱的概念。

本文来自掩于岁月投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/625909.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 07-09
下一篇 07-09

相关推荐

  • 云服务器管理有哪些功能 云服务器管理的作用

    生活中经常听说云服务器。你知道云服务器的功能是什么吗?如果你不知道,那就和边肖一起看看吧。1.网络服务对于需要有网络站点的中小企业和个人来说,租用服务器是一个不错的选择。因为云服务器的预配置不需要那么多,可以买现成的,也有很多宽带选择,所以每个网站都可以有自

    2023-07-27 21:46:01
    444 0
  • 服务器备份软件有哪些(服务器自动备份及恢复软件)

    SyncBackPro备份软件是由2BrightSparks公司开发的用于备份、同步和恢复数据文件的专业工具。该软件可以在便携式设备之间自动传输媒体文件,并备份数据文件、图片、电子邮件、音乐文件、文档、电子表格和电影。SyncBackPro通过结合运行、创建配置文件脚本和自动驱动器故障检测

    2023-07-27 18:47:01
    531 0
  • 域名怎么用在服务器上,域名使用文档介绍

    购买域名后如何使用?你有什么技能?买了域名之后,就看你用它做什么了。注册后可以用域名申请企业邮箱,大部分用来建网站。我们来看看如何使用域名,购买后有哪些技巧。购买域名后如何使用?你有什么技能?1.企业电子邮件应用程序购买域名后,可以直接申请企业邮箱,进入西数

    2023-07-27 10:41:01
    1059 0
  • 服务器一般多少钱一个月 阿里云服务器租用费用

    目前市场上的网站价格参差不齐,每家公司都没有明码标价,导致很多企业不知道如何选择专业水平的网站建设公司,怕被骗花钱,做出来的网站没有效果。事实上,顾客的担心并非多余。有些公司收钱是为了盈利,但并不是真的为客户服务。这种现象依然存在。今天财利信息分析一下做一

    2023-07-27 09:56:01
    377 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信