网站服务器_网站存放在服务器里面_关于反向代理的一些历史
【小编提示】本文部分内容摘自网络,仅供参考!如需了解服务器租用\托管相关问题,请咨询YINGSOO专业客服,享受1V1贴心服务!免费热线400-630-3752
【选购帮助】新加坡云服务器多少钱?
我们知道,不同颜色的人的外表非常不同,很难识别双胞胎。有趣的是,Web服务器/Web容器/Web应用服务器/反向代理有点像四胞胎,经常出现在网络上。本文将区分这四个概念。
Web服务器的概念和基本原理
Web服务器的历史
1989年,互联网之父Berners-Lee向他的雇主CERN提出了一个新项目,通过使用超文本系统来简化科学家之间的信息交流。
该项目导致Berners-Lee于1990年编写了两项方案:
一种名为WorldWid[海外站群服务器]eWeb的浏览器。1991年至1994年间,世界上第一台网络服务器CERNhttpd在NeXTSTEP上运行。早期用于在万维网上冲浪和交换数据的技术的简单性和有效性,帮助它迁移到许多不同的操作系统,并在科学组织和大学中使用,然后将其推广到业界。
1994年,Berners-Lee决定成立万维网联盟(W3C),通过标准化过程管理所涉及的许多技术(HTTP,HTML等)的进一步发展。
Web服务器的主要功能是存储、处理和向客户传递网页。客户端和服务器之间的通信使用超文本传输协议(HTTP)进行。
最常见的页面是HTML文档,除了文本内容外,HTML文档还可能包含图像、样式表和脚本。
用户代理(通常是Web浏览器或Web爬虫)发出HTTP请求以获取服务器资源,服务器根据请求返回服务器资源,或出于某种原因响应错误消息。
此资源通常是服务器辅助存储上的真正文件,但根据Web服务器的实现方式,情况不一定如此。
虽然主要功能是提供内容,但HTTP的全面实现还包括如何从客户端接[菲律宾vps价格]收内容。此功能用于提交Web表单,包括上载文件。
许多通用Web服务器还支持使用ActiveServerPages(ASP)、PHP或其他脚本语言的服务器端脚本。
这意味着Web服务器的行为可以在单独的文件中编写脚本,而实际的服务器软件则保持不变。
通常,此函数用于动态生成HTML文档("即时"),而不是返回静态文档。前者主要用于从数据库检索或修改信息;后者通常更快、更容易缓存,但不提供动态内容。
Web服务器不仅用于服务万维网,还可以嵌入打印机、路由器、网络摄像机等设备中,只为本地网络服务。
然后,Web服务器可用于监视或管理正在讨论的设备的部分系统。
这通常意味着不需要在客户端计算机上安装其他软件,因为只需要一个web浏览器(现在大多数操作系统都包含在内)。
Web服务器如何工作
HTTP协议基于TCP协议,是一种应用层协议,用于用户代理与Web服务器之间的通信。
Web服务器通常以问答的方式工作:
用户在用户代理上启动资源请求,该请求包括但不限于:指定资源URI的唯一标识,它指示操作类型(GET/POST/DELETE/PUT…)。用户代理解析用户输入URI并从其中获取目标域名,该域名由DNS服务器解析。如果在URI中指定了IP地址,则不需要此步骤。如果尚未建立与服务器的会话,则建立TCP连接并完成HTTP协商(确定双方均可接受的处理方式,包括协议版本,是否加密,内容格式等等)。用户代理将请求封装为HTTP数据包并将其发送到服务器。服务器接收资源请求,并以先前协商的方式解压缩和处理资源请求。服务器请求的资源被打包为HTTP数据包并返回给用户代理。
接下来,关注服务器端的工作方式,如下图所示:
TCP侦听模块:服务器在一个端口上侦听(一般默认是8080端口,用户可以设置其他端口)来与用户代理建立连接。一旦建立连接,来自用户代理的后续HTTP请求将不再需要进入侦听模块。
预处理:这里主要有三件事,从TCP消息中获取HTTP请求消息,根据与用户代理的协商进行解密、解压缩、安全处理等。根据服务器本身的配置进行安全处理,建立会话状态等。
UR路由:解析URL字符串和操作以确定用户代理请求的资源,根据匹配规则(通常根据正则表达式+后缀)路由到静态资源处理模块或动态资源处理模块。
静态资源处理模块:负责查找静态资源,如HTML/JavaScript/CSS文件/图片/图像,确定内容是字符流还是字节流,并确定相应的MIME。
例如,HTML生成一个字符流,其MIME为text/html,而MPEG视频文件生成一个字节码流,MIME作为视频/mpeg。
动态资源处理模块:运行业务逻辑处理,动态确定返回的资源内容和类型,内容和类型处理原则相同。
后处理:根据与用户协商的协议进行加密、压缩、安全处理等.
资源输出模块:将已处理的内容封装为HTTP消息,并将TCP消息(内容是HTTP报文)发送到TCP连接的另一端的用户代理。
主流Web服务器
市场份额,包括Apache、IIS和Nginx,如下图所示:
Tomcat、Jetty、WebSphere、WebLogic、Kerstrel等也有更多的用途。
Web应用容器的概念和基本原理
Web应用程序容器的起源
Web服务器的出现标志着WWW时代的到来,世界变得更加平坦。第一次尝到甜头的初创企业开始不满意在互联网上访问静态资源,因此CGI脚本似乎动态地访问资源。
后来,网络的发展方向也是提高Web服务器动态访问资源的能力。以下是具有代表性的动态技术:
Web应用程序容器的基本工作原理
通常,Web应用程序容器是以下体系结构:
注:浅蓝模块是实现业务程序的主要使用模块。
与Web服务器相比,容器添加或增强了以下模块:
分配线程池资源,容器为每个请求分配一个线程进行处理,通常以线程池的形式进行处理,线程池由CPU有效计算。封装请求上下文的请求对应于请求上下文,请求上下文主要封装用户请求的主要组成。
URL、HTTP请求头以及会话、Cookie和其他基于请求头的对象,便于编程。
封装响应上下文,请求对应于响应上下文,响应上下文主要用于将资源返回给用户代理。您可以编写输出流、重定向、返回错误代码等。容器中的URL路由运行开发人员来设置不同的路由匹配规则,例如拥有.htm返回.html或自定义.xyz返回.html资源。更灵活的配置可以参考JavaMVC或ASP.NET的配置方案,动态资源处理模块,其中特定的容器和开发语言通常都有自己的高效开发模型,如Java的servlet、ASP.NETWebform、MVC。资源被回收,线程资源在这里被回收用于线程重用,除非服务器空闲通常将线程返回到线程池。
如您所见,Web容器本身具有作为Web服务器的功能,实际上,通常实现Web容器功能的服务器是Web服务器。就像Tomcat、IIS、Jetty一样。
主流Web容器
包括Tomcat、IIS、Jetty。还有更多的使用WebSphere、WebLogic等等。
Web应用服务器的概念和基本原理
在Web服务器开发的同一时期,应用服务器已经存在和发展了很长时间。
一些公司已经为Unix开发了Tuxedo(面向事务的中间件)、Topend、Encina和其他产品,这些产品来自类似于IMS和CICS的主机应用程序管理和监控环境。
这些产品中的大多数指定了"封闭的"特定于产品的通信协议来连接FAT客户端("fat"client)和彼此的服务器。
20世纪90年代,这些传统的应用服务器产品开始嵌入HTTP通信功能,刚刚开始使用网关来实现。不久,它们之间的界限开始模糊。
与此同时,Web服务器正变得越来越成熟,能够处理更高的负载、更多的并发性和更好的功能;应用服务器开始增加越来越多的基于HTTP的通信功能。所有这些都导致Web服务器和应用服务器之间的界限越来越窄。
目前,"应用服务器"和"Web服务器"之间的界限已变得模糊。然而,这两个术语也被区分为强调它们的使用。
当有人谈论"Web服务器时,您通常认为它是一个以HTTP为核心,WebUI为向导的应用程序。
当有人说"应用服务器"时,您可能会想到"高负载、企业级特性、事务和队列、多通道通信(HTTP和更多的协议)。"但是现在提供这些需求的产品基本上是相同的。
下图描述了典型Web应用服务器的结构:
如上图所示,Web应用服务器包括Web容器,事务、安全、集成、通信、高可用性和其他支持企业应用程序的功能都内置在其中。
它大大减少了重复开发的数量,并确保了业务系统的快速开发和部署,业务系统本身就是一个Web服务器。
Web应用服务器可以选择使用来自大型工厂的重量级产品,如WebLogic和WebSphere。
您还可以使用WebContainner(Spring,Hibernate等)和第三方框架(Spring、Hibernate等)来构建自己的ApplicationServer;.NETCore平台,并选择IIS、Apache、Nginx和ASP.NET NETCore构建。
反向代理的概念和基本原理
反向代理的基本概念
反向代理是一种代理服务器。在客户端的请求下,它从后端服务器(如Web服务器)获取资源,然后将这些资源返回给客户端。
与前向代理不同,转发代理充当将Internet上获得的资源返回关联客户端的媒介,而反向代理则用作服务器端的代理,例如Web服务器,而不是客户端。
客户端可以通过前向代理访问许多不同的资源,而反向代理是指许多客户端通过它访问不同后端服务器上的资源,而不知道这些后端服务器的存在,认为所有资源都来自这个反向代理服务器。
将Internet中的请求发送给反向代理,该代理将请求转发到内部网中的服务器。
反向代理的主要功能是:
加密和SSL加速负载平衡缓存静态内容压缩减速上传安全防火墙外部网络释放突破互联网封锁解决跨域问题
反向代理的基本工作原理
反向代理服务器的组成和处理如下图所示:
左侧黄色功能模块处理外部网络消息,右侧灰色功能模块处理内部网络消息。
TCP侦听模块
侦听TCP请求,它指的是消息内容是应用层协议(比如HTTP,FTP,Email等应用层协议)的请求。
至于这里是否会产生单个线程来开始处理,则由服务器来决定,最流行的方法是先对消息进行队列处理,然后异步处理,这样可以大大提高代理的吞吐量和稳定性。
匹配代理服务器
代理服务器基于一个表(存放外网URI和内网服务器的对应关系,通常需人工进行设置)。如果匹配,它将继续处理,否则将根据外部网络协议(如HTTP协议)返回错误消息。
负载平衡策略的应用
如果是大型的Internet应用程序,为了稳定整个系统和解决单点问题,必须根据自定义策略将消息合理地转发给代理服务器。简单的策略是散列分布或随机分布,用户一般可以配置和选择。
预处理
本文根据经过协商的外部网络应用协议,实现了解密、安全、会话、解压缩等功能。
新生成的网络消息
在这里,网络消息是根据协商后的内部网应用协议生成的,可以通过加密、安全、会话、压缩等方式进行处理。
转发到代理服务器
将新生成的网络消息发送到网络服务器(可能是否Web服务器,FTP服务器,邮件服务器)。
接受网络信息
从内部网服务器接收反馈的网络消息。
预处理
这里根据谈判达成的外部网络应用协议进行加密、安全、会话、压缩等处理。
资源输出模块
此时,生成满足外部网络应用协议要求的消息并发送到外部网络连接的另一端(用户代理)。
通用反向代理服务器
你必须记住,他们的名字是:Ngnix,IIS,Apache。
摘要
从概念上讲:
Web服务器是一个提供WWW服务的程序。Web容器是开发人员的一个框架。Web应用服务器更加丰富,可以由通常遵循某些工业标准和自定义扩展功能的供应商构建,也可以通过开源组件的轻量级组装来构建。反向代理服务器在企业应用程序中非常突出,它具有集中式安全、负载平衡等优点。
既然这四个概念的界限越来越模糊,就看看这张桌子吧。
关于Kerstrel是否是Web容器,有两种观点:
因为Kerstrel不提供编写应用程序的框架,所以它不是容器;ASP.NET是一个容器,因为它提供了一个用于开发应用程序的框架和一个Web应用程序(MVC,WebAPI)运行时环境。Kerstrel提供了一个运行环境。
非常欢迎您提出您自己的优点,以帮助我们澄清这个ASP.NET容器的概念。
选购香港ASP虚拟主机注意事项
虚拟主机技术性的完成与发展趋势,为现如今建网站业务流程产生便捷。如今,出示虚拟主机的IDC店家有很多,关键有中国的、香港的、国外的,并且,每个服务器商出示产品系列也比较丰富,其电脑主机配置、套餐内容计划方案、系统软件种类也都各有不同。
自然,近些年伴随着香港虚拟主机的优点持续突显,许多中国网站站长都刚开始喜爱用香港虚拟主机建网站。另外,以便考虑各种网站站长的建网站要求及其提升服务器的通用性,香港服务器商也正慢慢刚开始增加对asp虚拟主机的商品供货。那麼,以便顺从时尚潮流,做为一个网站站长,我们在选择香港asp虚拟主机的情况下又该留意什么?
说白了asp虚拟主机,便是支持asp语言程序的虚拟主机,普遍的也有php虚拟主机,jsp虚拟主机。选择asp虚拟主机要注意什么?这应当要从asp语言特性上去一一剖析了。
1、asp意为“动态性网络服务器网页页面”,能够向网页页面中加上互动式內容,选用的是IISweb服务器,而IIS只有在Windows系统软件下运作,因而,选择香港asp虚拟主机一定要选择香港Windows服务器才能够。此外,尽管许多香港服务器公司树立不限定IIS数,为此来吸引住顾客,但具体情况是IIS可以不做出限定,但对cpu、运行内存等資源全是有严苛的限定,也就是间接性的限定的IIS线程数了,因此大伙儿不必被这一宣传词给引诱了。
2、服务器支持的数据库查询,一般状况下,asp程序一般联接的是Access和MSSQL数据库查询。现阶段,主流产品的asp程序全是支持MSSQL联接的,并且许多as[香港服务器如何避免被黑客攻击]p虚拟主机也都出示MSSQL,可是,也是有一小部分客户应用的程序是支持Access联接的(不要说沒有哈,网编就碰到很多)。因此,大伙儿在选择asp虚拟主机的情况下一定要留意①、该asp虚拟主机是不是支持Access数据库查询;②、自身的网址程序时支持Access還是MSSQL,便于有效的的开展选择。
3、可否改动环境变量,大家都了解,应用虚拟主机,客户的管理权限是很少的,一般管理权限全是在网络服务器上设定的。因而,许多虚拟主机公司容许客户在操作面板中改动环境变量的,例如,php虚拟主机在.htaccess中设定,asp虚拟主机在web.config中设定,那样人们对网址做些设定(如伪静态、默认页)全是十分便捷的。因此,大伙儿在选购asp虚拟主机的情况下最好完成看看该服务器是不是支持环境变量的设定,防止中后期产生多余的困惑。
4、普遍的脚本制作支持,asp是微软中国开发设计的替代C[广东服务器租用]GI脚本制作程序的一种运用,它能够与数据库查询和其他程序开展互动,因而,针对asp虚拟主机而言,一般普遍的其他脚本制作也是要支持的,如.net、Perl、Shell、python、Ruby等。虽然是虚拟主机,可以支持的步伐不用过多,但普遍的步伐還是务必要支持的,因此,大伙儿在购买以前也是要搞清楚的。
之上便是选择香港asp虚拟主机留意的几大些,也是核心,自然也有许多关键点也是必须关键的,这儿也不详尽例举了。除开之上几个方面外,选择香港虚拟主机也是有许多必须留意的地区,掌握大量香港虚拟主机购买常见问题。
YINGSOO400电话:400-630-3752
推荐产品:【日本 服务器】【弹性扩容服务器】【英国独立服务器】【德国物理服务器】【国外主机租用】【俄罗斯vps】【英国vps主机】【台湾独享100M】【韩国vps服务器】【台湾服务器】【香港高防护vps】【法国云服务器】【YINGSOO云主机】【香港高防御主机】【日本直连服务器】【香港物理服务器】【日本虚拟主机】【IPLC】【越南云服务器推荐】【德国服务器租用】
9年香港主机服务业务运营经验,连续3年香港主机服务业务名列前茅.香港宽频,HKT机房核心合作伙伴,1200家企业客户共同选择,24小时在线服务
https://www.yingsoo.com/products/cloud-hk.html
韩国直播主机控制面板自主管理,5分钟交付,KT高品质机房,平均延迟低至80ms,2019年韩国直播主机销量再度破表,1200家企业共同选择,高达95%的续约率印证YINGSOO品质
https://www.yingsoo.com/products/cloud-kr.html
9年韩国电影网站主机业务运营经验,1200家企业客户共同选择.韩国Korea Telecom机房核心合作伙伴,机房带宽资源充足,到国内速度平均在80ms左右.
https://www.yingsoo.com/products/cloud-kr.html
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。