CDN、代理简述
CDN(内容分发网络)
CDN的本质就是一个具有反向代理功能的内容缓存服务器。
在没有CDN的参与下,我们访问一个网站的内容需要解析完IP地址去直接访问源站服务器。一般情况下这是没有问题的,但如果访问者距离源站服务器距离较远,尤其是一些跨国的业务,这会导致访问速度变慢。
针对这个问题,便出现CDN,CDN边缘节点分布在各地,访问者可以就近访问距离近的CDN边缘节点,从而加快访问速度。
在这个过程中,访问者作为消费者,源站服务器作为商家,而CDN则是快递仓库。首先访问者访问内容,如果就近的CDN节点缓存了该内容,便直接返回给访问者,不需要访问者再去与源站服务器进行连接进行访问。但如果CDN没有该内容,它便会回源,也就是访问源站服务器,然后将该内容缓存到CDN节点中,供后续访问者使用。
这样我们就很好的理解了为什么说CDN是一个具有反向代理功能的内容缓存服务器。在缓存目标内容的情况下,直接返回给访问者。如果没有缓存目标内容,则会直接反向代理该请求,让访问者去访问源站服务器,同时将该内容缓存起来。
代理(proxy)
代理处于客户端访问服务端的过程中,接收客户端的请求然后转发给服务端,并接收服务端返回的响应并转发给客户端。
即客户端仅与代理服务器通信,无需访问实际服务器地址。因为真正跟服务端建立连接的是代理服务器。
正向代理(forward proxy)
正向代理是为客户端提供代理服务的,即服务端不知道真正的客户端,在请求的过程中,正向代理隐藏了客户端的身份。此时代理服务器代表客户端去进行通信。
主要用途: 突破客户端的访问限制。
反向代理(reverse proxy)
反向代理是为服务端提供代理服务的,即客户端不知道真正的服务端,在请求的过程中,反向代理隐藏了服务端的身份。此时代理服务器代表服务端去进行通信。
主要用途: 服务器的负载均衡、安全防护等。