顶部右侧自定义文字
广告位 后台主题配置管理
广告位 后台主题配置管理

网站首页 >服务器 正文

缓存服务器协议(服务器缓存技术)

admin 2022-12-19 13:40:33 服务器 18 ℃
广告位 后台主题配置管理

今天给各位分享缓存服务器协议的知识,其中也会对服务器缓存技术进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

简述回源原理和CDN缓存

网上查了下资料,回源大致是指浏览器在发送请求报文时,响应该请求报文的是源站点的服务器,而不是各节点上的缓存服务器,那么这个过程相对于通过各节点上的缓存服务器来响应的话就称作为回源。回源的请求或流量太多的话,有可能会让源站点的服务器承载着过大的访问压力,进而影响服务的正常访问。

其实回源比和缓存的命中率正好相反,回源比高,说明缓存系统的缓存命中率低。回源比分为回源请求数比例和回源流量比例两种。

回源请求数比例 :收集所有边缘节点上的请求记录,没有缓存或缓存过期的请求以及不可缓存的请求均被作为回源请求,发往源站点服务器响应。其他的请求则由缓存系统直接使用缓存响应。其计算公式为: 回源请求数/(回源请求数+用户发送的请求数) 。

回源流量比 :即用户所产生的流量当中,有多少流量是直接有源站点服务器响应的,其计算公式为: 回源流量/(回源流量+用户请求访问的流量)

CDN,即Content Delivery Network,内容分发网络,其搭建的思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,尽量使内容传输的更快更稳定。CDN通过在网络边缘部署边缘服务器,依靠CDN中心平台的负载均衡、内容分发及调度等功能,使用户就近获取所需的内容,降低网络拥堵,提高用户访问响应速度和命中率。所以基本上CDN就是广泛采用各种缓存服务器,使得用户的请求直接由这些缓存服务器响应,加快了响应速度;只有在用户请求的资源在缓存服务器上没有找到或者请求访问的资源在源站点服务器上已经修改过的情况下,缓存服务器才会去访问源站点服务器以获取最新的资源。

下图为常见的CDN架构:

在CDN环境下,web访问数据通常会经历客户端本地缓存和CDN边缘节点缓存两个阶段。如果这两个阶段均无法响应客户的请求的话,那么最后会由CDN节点向源站点发起回源请求,进而从源站点获取最新的数据,更新CDN节点的本地缓存,最后将最新的数据返回给客户端。

CDN节点的缓存机制也是遵循http协议,因此也会受到Cache-Control等字段的影响。与此同时,CDN上的缓存时间的长短会对回源率产生直接的影响。若CDN缓存时间较短,CDN边缘节点上的数据会经常失效,导致频繁回源,增加了源站的负载,同时也增大的访问延时;若CDN缓存时间太长,会带来数据更新时间慢的问题。因此开发者需要增对特定的业务,来做特定的数据缓存时间管理。

http是什么协议

HTTP协议是在客户端-服务器计算模型中用作请求-响应协议。一个网页浏览器,例如,可

能是客户端,并在计算机上运行的应用程序托管一个网站可能是服务器。客户端向服务器提交

HTTP 请求消息。服务器,该服务器提供的资源,如HTML文件和其他内容,或代表客户机的

执行其它功能,返回一个响应消息给客户端。响应包含有关请求的完成状态信息,还可能在其

消息正文中包含请求的内容。

Web浏览器是用户代理(UA)的示例。其他类型的用户代理包括搜索提供商,语音浏览器,

移动应用程序以及访问,使用或显示网络内容的其他软件所使用的索引软件。

HTTP旨在允许中间网络元素改进或启用客户端和服务器之间的通信。高流量网站通常受益于

代表上游服务器提供内容的Web缓存服务器,以缩短响应时间。Web浏览器缓存先前访问的

Web资源,并在可能的情况下重用它们以减少网络流量。通过使用外部服务器中继消息,专用

网络边界处的HTTP 代理服务器可以在没有全局可路由地址的情况下促进客户端的通信。

HTTP是在Internet协议套件框架内设计的应用程序层协议。它的定义假定底层和可靠传输层协

议和传输控制协议(TCP)是常用的。但是,HTTP可以适用于使用不可靠的协议,例如用户数

据报协议(UDP),例如在HTTPU和简单服务发现协议(SSDP)中。

扩展资料:

与HTTP协议非常相似的一个协议HTTPS协议

安全超文本传输协议(HTTPS)是超文本传输协议(HTTP)的扩展。它用于通过计算机网络

进行安全通信,并在因特网上广泛使用。在HTTPS中,通信协议使用传输层安全性(TLS)或

以前的安全套接字层(SSL)进行加密。因此,该协议通常也称为HTTPoverTLS,或HTTP

overSSL。

HTTPS的主要动机是对所访问网站的身份验证以及在传输过程中保护所交换数据的隐私和完整

性。它可以防止中间人攻击。客户端和服务器之间的通信的双向加密防止了对通信的窃听和篡

改。在实践中,这提供了一个合理的保证,即一个人在不受攻击者干扰的情况下进行通信,而

不是冒名顶替者。

http协议

应用层 -  传输层 -  网络层 -  链路层

1.应用层:http协议、dns域解析

2.传输层:tcp或者udp (提供两台计算机之间的数据传输问题)

3.网络层:ip (选择传输路线)

4:链路层: 用来处理连接网络的硬件部分

1.通过tcp/ip协议族进行网络通信时,会通过分层顺序与对方通信

客户端: http客户端  -  tcp  -  ip  -  网络  -  网络  -  ip  -  tcp  -  http服务端  :服务端

2.发送端在进行层与层之间传输数据时,每经过一层,必定会打上一个该层所属的首部信息。反之,接收端在层与层进行数据传输时,每·经过一层会把对应首部消除。

三次握手是由发送端发起的,发送数据前,发送端会给接受端发送一个确认消息,当接受端收到发送端的消息并且作出回应,发送端才开始数据传输。

发送端向dns服务发出请求,获取某个页面的ip地址,dns把地址返回给发送端,发送端拿到ip后向对应ip地址发出请求。

客户端:

http协议的职责:生成针对目标web服务器的http请求报文

tcp协议职责:为了方便通信,将http报文分割成报文段(按序号分为多个报文段)

路由器:

ip协议职责:搜索对方地址,一边中转一边传送

服务端:

tcp协议职责:从对方那里接收到报文,重组到达的报文

http协议的职责:对web服务器的请求的内容的处理

用于客户端和服务端之间的通信,请求访问的一端称为客户端,提供资源访问的一端称为服务端。

http是一种不保存状态,即无状态协议。在调用过程中,对请求和响应都不做持久化处理。

优点: 更快处理大量事物,确保协议可伸缩性

缺点: 某些请求或者登陆状态需要保持状态

get方法:主要用来获取资源,参数包含在url里可见,所以安全性比较差,浏览器对get方法的参数长度有限制

post方法:主要用来获取和传输资源,参数包含在请求体中,且参数长度比get大的多,对外不可见,且相对较为安全

put方法:向服务器提交数据,更新服务器资源

delete:删除服务器数据

head:获取报文首部

问题: 在http最初的版本中,每进行一次http通信都会断开一次连接,因此当请求过多的时候,都会造成无谓的通信开销

解决: http/1.1 提出了持久连接概念

持久连接: 持久连接的好处在于减少tcp连接的重复建立和断开所造成的额外开销,减轻了服务端的开销。另外减少开销的那部分时间,使http请求和响应能够更早的结束,这样web页面的响应速度也显著的提高了。

前面说过,Http是无状态的,通过cookie识别请求来源。

http包含请求和响应报文,通过依赖这两种报文来达到信息资源的请求和响应。

请求报文:

    请求行:请求方法、协议名、版本号、请求url

    请求头部

    空行

    请求体

响应报文:

    状态行:协议吗、版本号、返回状态码

    响应头部

    空行

    响应体

请求报文和响应报文都会使用

状态码表示客户端请求返回的状态

状态码第一位指定响应类别,后两类无分类

状态码类别

常见状态码:

200:ok,请求成功,请求被正常处理。

204:请求成功,但是没有资源返回

301:永久性重定向

302:临时性重定向

403:服务器拒绝访问

404:无法找到请求资源

500:服务错误

1.缓存服务器

缓存服务器是代理服务器的一种,当代理转发从服务器返回资源时,代理资源器会返回一份资源副本。

缓存也可以存在客户端浏览器中,把客户端缓存又称为临时性网络文件。

与网络服务器缓存一样,当判定缓存过期后,会向服务器确认资源有效性。若浏览器判断缓存失效,浏览器会再次请求新资源。

4.缓存相关设置

get的请求参数包含在URL中,对外可见,所以安全性较差。post的请求参数包含在请求体中,对外不可见,相对来说较安全。

浏览器会主动缓存get请求的相关资源,但相对于post请求,浏览器不会主动缓存,除非主动缓存。

get请求的参数长度有限制,post没有。

get请求在浏览器回退时是无害的,但post会重新请求。

get请求的参数会被保存在浏览器历史记录中,post不会。

tcp是面向连接,udp是无连接的,即发送数据之前不需要建立连接。

tcp提供可靠的服务,即tcp连接传输的数据,无差错、不丢失,udp尽最大努力交付,但不保证数据可靠性。

tcp只能一对一,udp可以一对一、一对多、多对一。

REST和SOAP Web Service的区别比较

restful是一种架构风格,其核心是面向资源;而webService底层SOAP协议,主要核心是面向活动。

SOAP:简单对象访问协议,很轻量,同时作为应用协议可以基于多种传输协议来传递消息(Http,SMTP等)。

客户端和服务器端的通讯方式

REST 与代理服务器 (Proxy Servers)

一般代理服务器的实现根据 (URI, HTTP Method) 两元组来决定 HTTP 请求的安全合法性。

当发现类似于({username},DELETE)这样的请求时,予以拒绝。

对于 SOAP,如果我们想借助于既有的代理服务器进行安全控制.

REST 与缓存服务器 (Cache Server)

使用 HTTP 协议的 SOAP,由于其设计原则上并不像 REST 那样强调与 Web 的工作方式相一致,所以,基于 SOAP 应用很难充分发挥 HTTP 本身的缓存能力,图 7. SOAP 与缓存服务器 (Cache Server)

总结:

REST对于资源型服务接口来说很合适,同时特别适合对于效率要求很高,但是对于安全要求不高的场景。而SOAP的成熟性可以给需要提供给多开发语言的,对于安全性要求较高的接口设计带来便利。所以我觉得纯粹说什么设计模式将会占据主导地位没有什么意义,关键还是看应用场景。成熟度SOAP虽然发展到现在已经脱离了初衷,但是对于异构环境服务发布和调用,以及厂商的支持都已经达到了较为成熟的情况。不同平台,开发语言之间通过SOAP来交互的web service都能够较好的互通。

缓存服务器的缓存概念

这是两种主要的Web缓存:

直接缓存,将用户频繁访问的来自Internet服务器的Web对象的拷贝保存在企业本地网络中。

反向缓存,企业内部Web服务器的Web对象的拷贝保存在企业网络边缘的代理服务器上以提高外界访问企业站点的性能。

Web缓存可以根据不同等级进行配置:

本地缓存:将Web对象缓存的拷贝保存在本地计算机中。大多数流行的Web浏览器默认情况下保留一个先前访问对象的缓存。例如,Internet Explorer称之为“临时Internet文件”。本地缓存拷贝只是在用户频繁地从同一台机器访问页面时有用。

代理缓存:代理服务器是为公司内的多个用户/客户计算机缓存Web对象的单独机器。它们是位于客户端和托管的Web服务器之间的计算机,而且它们比本地缓存效率更高,因为在企业本地网络中的任何用户或计算机访问某个Web对象时,缓存拷贝对想访问该对象的任何其他用户/计算机是可用的,无需到Internet服务器上再次下载它。代理缓存可以在网络边缘与防火墙结合使用。

微软的ISA Server和BlueCoat的工具一样,既包括防火墙也包括缓存代理服务器。缓存服务器也可以是单独的机器,运行免费的缓存软件或商业产品,例如:

Linux版的Squid免费缓存代理

MOWS基于Java分布式web和缓存服务器

Vicomsoft RapidCache Server for Windows或Macintosh

WinProxy for Windows

可升级的缓存解决方案

随着公司的扩大,单一的Web缓存服务器可能无法处理所有的通信或存储足够的Web对象。在这种情况下,可以扩展缓存解决方案以建立一个缓存阵列——一组共同工作以便在组内分配缓存负载的缓存代理服务器。万一某个缓存服务器停机,还提供缺省的容量。

要在阵列中操作,缓存服务器必须能够彼此使用协议进行通信,例如:

WCCP(Web缓存协调协议),Cisco缓存产品以及诸如Squid这样的开源代理使用。

ICP(Internet缓存协议),被Squid和BlueCoat支持。

CARP(缓存阵列路由协议),被ISA Server Enterprise Edition用来管理缓存服务器阵列的失效转移和负载平衡。

CARP能够支持几乎无限的线性扩展以满足快速增长型企业的需求。当向某个阵列中添加或移除一台服务器时,CARP自动调整并再指定URL以有效地分布负载。

缓存阵列能够以等级的或分布式的架构排列。在分布式缓存中,阵列中所有代理服务器处在一个“平等地位”而且负载在它们之间进行分配。在分等级的缓存中,代理以链式进行配置,它们处在不同的等级,所以服务器或阵列连接到其它离Internet更近的服务器或阵列(离Internet最近的那些服务器或阵列被看作“上游的”,那些最远的被看作“下游的”)。这样,缓存内容会尽可能地靠近需要它的用户。

阵列是高度可升级的,因为可以向阵列添加服务器,或向分等级的架构增加阵列等级,而无需扰乱目 前的缓存解决方案。

另一个可扩展性问题是使用缓存减少分支机构网络带宽的能力。分支机构代理可能没有直接连接到Internet,但是可以使用拨号连接或办公室到办公室的WAN连接以便从总公司的上游代理服务器上请求Web对象。

另一个选择是为需要向消费者提供基于Web的应用,可使用诸如由Akamai提供的服务。他们的Web Application Accelerator服务通过下列方法优化性能:

向他们的边缘服务器动态映射请求,并监视Internet路由以便在最快和最可靠的路由上传输。

利用压缩技术和预取技术(pre-fetching)以最小化带宽使用率。

用安全套接层(SSL)保护Web传输。

缓存支持的有些硬件标准:

目前缓存支持的硬件标准:

内存不超过4G,超过的只识别4G。

硬盘不超过2T,超过的只识别2T

存储硬盘数量最大支持4块(如果系统盘是电子盘不包含在内)

另外推荐使用INTEL的机器和网卡。

关于缓存服务器协议和服务器缓存技术的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

广告位 后台主题配置管理
最近发表
友情链接
广告位 后台主题配置管理