浅谈正向代理、反向代理和CDN的区别
一、正向代理
1.正向代理位于客户端和源服务器之间的服务器(代理服务器);
2.隐藏客户端:由代理服务器代替客户端去访问目标服务器,用户需要设置代理服务器的IP和端口;
3.每一次请求是到代理服务器,代理服务器转发请求到真实服务器并获取结果返回给客户端
作用:
1.翻墙:绕过无法访问的结点,从另外一条路由路径进行目标服务器的访问;
2.缓存:数据缓存在代理服务器上,如果客户端请求的内容在缓存中则不去访问目标主机;
3.权限控制:防火墙授权代理服务器访问权限,客户端通过正向代理可以通过防火墙;
4.隐藏访问者:通过配置,目标服务器无法获取真实客户端信息,只能获取到代理服务器的信息
二、反向代理
1.对于客户端而言,反向代理服务器像是原始服务器;
2.隐藏真实服务器:代理服务器代替目标服务器去接受并返回客户端的请求
作用:
1.隐藏真实服务器:防止服务器恶意攻击等;
2.缓存作用:数据缓存在代理服务器上,如果客户端请求的内容在缓存中则不去访问目标主机;
3.负载均衡:如nginx
三、正向代理和反向代理的区别
正向代理:代理端代理的是客户端。 反向代理:代理端代理的是服务端。

三、CDN
全称:Content Delivery Network内容分发网络
解决问题:
1.尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和缓解(解决网络拥堵的状况);
2.使得用户可就近取得所需内容;
3.提高用户访问网站的速度
原理:对域名设置CNAME,CNAME指向CDN服务商,在DNS解析时使用全局负载均衡DNS解析,如可以根据地理位置信息解析对应的IP地址,使得用户能就近访问
浅谈正向代理、反向代理和CDN的区别的更多相关文章
- 大型网站架构演化(六)——使用反向代理和CDN加速网站响应
随着网站业务不断发展,用户规模越来越大,由于中国复杂的网络环境,不同地区的用户访问网站时,速度差别也极大.有研究表明,网站访问延迟和用户流失率正相关,网站访问越慢,用户越容易失去耐心而离开.为了提供更 ...
- 使用Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度
碰到问题:移动用户访问web服务器www.osyunwei.com很慢解决办法:1.在移动机房放置一台nginx反向代理服务器2.通过域名DNS智能解析,所有移动用户访问www.osyunwei.co ...
- 浅谈SOCKS5代理与HTTP代理的应用区别
[1]什么是SOCKS5协议. SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递.SOCKS是"Sockets”的缩写. 当防火墙后的客户端要访问外部的服务器时,就 ...
- 浅谈 举家搬迁静态文件到CDN
由于七牛CDN最近做活动,对于标准用户可以免费使用如下优惠 10 GB 存储空间 10 G/月 下载流量 10 万次/月 PUT/DELETE 请求 100 万次/月 GET 请求 以上这些指标直接就 ...
- 浅谈Java代理二:Cglib动态代理-MethodInterceptor
浅谈Java代理二:Cglib动态代理-MethodInterceptor CGLib动态代理特点: 使用CGLib实现动态代理,完全不受代理类必须实现接口的限制,而且CGLib底层采用ASM字节码生 ...
- 浅谈Java代理一:JDK动态代理-Proxy.newProxyInstance
浅谈Java代理一:JDK动态代理-Proxy.newProxyInstance java.lang.reflect.Proxy:该类用于动态生成代理类,只需传入目标接口.目标接口的类加载器以及Inv ...
- 浅谈JAVA GUI中,AWT与Swing的区别、联系及优缺点
浅谈JAVA GUI中,AWT与Swing的区别.联系及优缺点 A.区别 1.发布的时间 AWT是在JDK 1.0版本时提出的 Swing是在AWT之后提出的(JAVA 2) 2. ”重量” AWT是 ...
- 浅谈头文件(.h)和源文件(.cpp)的区别
浅谈头文件(.h)和源文件(.cpp)的区别 本人原来在大一写C的时候,都是所有代码写在一个文件里一锅乱煮.经过自己开始写程序之后,发现一个工程只有一定是由多个不同功能.分门别类展开的文件构成的.一锅 ...
- linux下正向代理/反向代理/透明代理使用说明
代理服务技术对于网站架构部署时非常重要的,一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术.常用的代理技术分为正向代理.反向代理和透明代理.以下就是针对这 ...
随机推荐
- harbor安装实操笔记
纸上得来终觉浅,实操一遍吧! 把所有开发的后端服务先在打成镜像,传到私有镜像仓库: 然后在任意的远程机器拉取镜像,然后可采用docker或者docker-compose的方式运行,本节先按照docke ...
- Servlet+JSP+JDBC综合案例
层级关系: 一.Util包 包里面写一个JDBCTools.java文件 功能:实现数据库连接返回一个Connection对象,并且可以实现数据库相应资源的关闭! 注意事项: 1.定义成员变量 1 p ...
- ArrayListHashmap嵌套
package arrayListHashMap; import java.util.ArrayList; import java.util.HashMap; import java.util.Map ...
- 基础篇:JAVA原子组件和同步组件
前言 在使用多线程并发编程的时,经常会遇到对共享变量修改操作.此时我们可以选择ConcurrentHashMap,ConcurrentLinkedQueue来进行安全地存储数据.但如果单单是涉及状态的 ...
- item系列魔法方法
class Foo: def __init__(self, name): self.name = name def __getitem__(self, item): print('getitem执行' ...
- spark:join与cogroup
1.RDD[K,V],键值对类型的rdd的函数在PairRDDFunctions这个类中 rdd类中,通过隐士转换让rdd有了PairRDDFunctions这个类里面方法的功能 2.rdd 的joi ...
- VUE项目性能优化实践——通过懒加载提升页面响应速度
本文由葡萄城技术团队原创并首发 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 最近我司因业务需求,需要在一个内部数据分析平台集成在线Excel功能,既然我 ...
- Linux服务器下安装Composer 并使用Composer安装Thinkphp5.0
Composer官方文档:https://docs.phpcomposer.com/00-intro.htmlComposer是一个php的包管理器.要求php版本在5.3以上. 一.安装Compos ...
- select 里面带的值居然是估算的?
mysql> set profiling=1;Query OK, 0 rows affected, 1 warning (0.07 sec) mysql> select count(1) ...
- 怎么判断是旧版本的ext3还是新版本?
怎么判断是旧版本的ext3还是新版本的? ---高性能419