松鼠书读书笔记(四)——http proxy
2013-09-24 11:56
197 查看
本章说的是http proxy,也就是http代理服务器
其实我个人的理解,觉得这些概念(代理、缓存、web server)很模糊,只能说是RFC2616上给出的一种指导性的分类,并不是有很明确的含义的,也没有严格的区分
这些概念,我认为都是互联网上的一些节点,或者说是http应用而已,没有绝对的分类和区别。
比如说,我开发了一个私有的代理服务器,部署在internet的入口处,然后配置浏览器请求往这个私有代理服务器上发。这个proxy有缓存的功能,如果是已经有的资源,就不向服务器发起请求了,那我这个proxy,也就可以认为是一个cache。同时,它都能处理http request,并生成http response了,难道还不能算一个web server吗。所以这个私人代理,同时是proxy、cache、web server,如果我再给它添加一个邮箱功能,那么它还是一个HTTP/POP3的gateway
所以我认为,HTTP规范中对http部件的分类,只能作为参考而已
这一章介绍了http proxy的一些主要功能
1、资源filter
这个很好理解,很多公司为了限制员工访问互联网,都搞一个公司代理,把白名单之外的请求都过滤了
2、防火墙,小本本
同理,从安全角度考虑,在LAN和WAN中间放一个proxy,然后就可以在proxy上部署一些杀毒软件,流量监控之类的东西
3、缓存
4、反向代理(reverse proxy)
很多大型的互联网网站都会这么做,一方面可以增强性能,另一方面可以保护server的安全
5、转码器(transcoder)
比如同一个页面,在返回给client agent之前,经过转码器转一下。如果client agent是PC浏览器则不作处理;如果是手机,就转成适合手机浏览器阅读的内容
很明显transcoder这里就需要做很多逻辑处理
6、匿名者
转发http request时,把user-agent首部等篡改,来保护真实客户端的安全。如果个人PC被黑客攻击了作为跳板,那有时候就成了黑客的匿名者代理
总结一下http proxy的各种作用,可以看出来,其实本质都是一样的。在真正的client agent,和最终的server中,部署一些http应用,对http request或者http response做一些处理,这就是http proxy的作用
在现实中也有很多体现,比如电信宽带,想连到网通服务器打网游,为了不卡,就花钱买个代理。当然这个一般不会是HTTP代理,但是原理都是一样的,本来直接发到网通服务器的消息,都会发到代理服务器上,由代理服务器来转发,再把网通服务器的响应给回客户端。代理服务器一般是双线的,所以玩游戏会比你直接连到网通服务器流畅一些
还有我97年那会通过猫拨号上网,国外的网站是不能上的,那么就可以找一些代理服务器,就能上国外的网站了
还有有些国外的服务器,会BAN掉大陆IP,那这个时候也可以找个海外服务器做代理,就可以连上去了
其实我个人的理解,觉得这些概念(代理、缓存、web server)很模糊,只能说是RFC2616上给出的一种指导性的分类,并不是有很明确的含义的,也没有严格的区分
这些概念,我认为都是互联网上的一些节点,或者说是http应用而已,没有绝对的分类和区别。
比如说,我开发了一个私有的代理服务器,部署在internet的入口处,然后配置浏览器请求往这个私有代理服务器上发。这个proxy有缓存的功能,如果是已经有的资源,就不向服务器发起请求了,那我这个proxy,也就可以认为是一个cache。同时,它都能处理http request,并生成http response了,难道还不能算一个web server吗。所以这个私人代理,同时是proxy、cache、web server,如果我再给它添加一个邮箱功能,那么它还是一个HTTP/POP3的gateway
所以我认为,HTTP规范中对http部件的分类,只能作为参考而已
这一章介绍了http proxy的一些主要功能
1、资源filter
这个很好理解,很多公司为了限制员工访问互联网,都搞一个公司代理,把白名单之外的请求都过滤了
2、防火墙,小本本
同理,从安全角度考虑,在LAN和WAN中间放一个proxy,然后就可以在proxy上部署一些杀毒软件,流量监控之类的东西
3、缓存
4、反向代理(reverse proxy)
很多大型的互联网网站都会这么做,一方面可以增强性能,另一方面可以保护server的安全
5、转码器(transcoder)
比如同一个页面,在返回给client agent之前,经过转码器转一下。如果client agent是PC浏览器则不作处理;如果是手机,就转成适合手机浏览器阅读的内容
很明显transcoder这里就需要做很多逻辑处理
6、匿名者
转发http request时,把user-agent首部等篡改,来保护真实客户端的安全。如果个人PC被黑客攻击了作为跳板,那有时候就成了黑客的匿名者代理
总结一下http proxy的各种作用,可以看出来,其实本质都是一样的。在真正的client agent,和最终的server中,部署一些http应用,对http request或者http response做一些处理,这就是http proxy的作用
在现实中也有很多体现,比如电信宽带,想连到网通服务器打网游,为了不卡,就花钱买个代理。当然这个一般不会是HTTP代理,但是原理都是一样的,本来直接发到网通服务器的消息,都会发到代理服务器上,由代理服务器来转发,再把网通服务器的响应给回客户端。代理服务器一般是双线的,所以玩游戏会比你直接连到网通服务器流畅一些
还有我97年那会通过猫拨号上网,国外的网站是不能上的,那么就可以找一些代理服务器,就能上国外的网站了
还有有些国外的服务器,会BAN掉大陆IP,那这个时候也可以找个海外服务器做代理,就可以连上去了
相关文章推荐
- 解决Ubuntu16安装ncrack0.5遇到error: ‘http_digest_proxy_authorization’ was not declared错误
- DSS Source Code Analyse (20) - HttpProxy
- Android MediaPlayer与Http Proxy结合之基础篇
- nginx http proxy 正向代理 实例
- linux下配置squid http proxy过程
- 详解webpack-dev-server使用http-proxy解决跨域问题
- http://202.38.64.18/proxy.cgi -好不容易找到的可用代理 嘿嘿
- OSX 10.5: 禁止Leopard内置的HTTP Proxy
- SSH through HTTP proxy
- HttpProxyHandler
- Docker: How to enable/disable HTTP Proxy in Toolbox
- Error:Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Reques
- 关于在EXT中短暂的记录Ext.data.HttpProxy等传递参数乱码的问题
- Ext.data-DataProxy/HttpProxy/MemoryProxy/ScriptTagProxy
- [转载]EXT核心API详解Ext.data(九)-DataProxy/HttpProxy/MemoryProxy/ScriptTagProxy javascript
- annotation与httpClient(3) -- Annotation与动态代理(Proxy)
- nginx 做proxy 不转发 http header问题解决
- Nginx配置负载均衡(upstream)+反向代理(httpproxy)
- httpClient在请求时设置代理服务器(Http Proxy)的方法
- apache2添加proxy_http模块问题解决