从半个砖家说开去--代理服务器
来源:互联网 发布:航天一院 知乎 编辑:程序博客网 时间:2024/05/11 23:12
这两天突然有人问“你是web的专家么?”,虽然我从事web开发已有些年头,但是说到专家二字,始终难以自我承认,所以,就自我解嘲地称自己为“半个砖家”,呵呵。
从事后来看,也挺对得起这个称号的。因为别人问的问题,正好就是自己所不知道的HTTP代理服务器。他的目的是想通过代理服务器方式解决两个信息孤岛的互访问题,需要撮合HTTP访问和视频信息。
这两天就在压力下恶补了关于代理服务器的基础知识,有感于网上凌乱的资料,和自我感觉总结出代理服务器最基础的科普知识,就记以文章以积累。
代理服务器基本上有两种分类HTTP代理和SOCKS4/5代理。在HTTP代理中又可以区分正向代理和反向代理。如果按照这个概念原则来划分实际上SOCKS4/5代理服务器也可以被称之为“正向代理”。有别于HTTP代理,SOCKS5代理可以代理TCP和UDP等访问,经纬是比较分明的!
对于正向代理而言,需要用户明确地指定,即对于一般用户而言是可感知的。而且在这个设置的背后,从数据流向上来讲,也是不同的。例如,通过http proxy上网,与不通过http proxy上网,在数据传输路径是大不一样的,非proxy方式可以认为是一种直连,而prxoy方式,所有的HTTP请求均要通过Proxy。正向代理相当于用户要自己穿上一套“代理”的外衣,包裹的是用户,以用户视角来看是,朝自己而来的正向。
对于反向代理而言,包裹的是真正的WEB服务器,是服务器主动穿上了外衣,通过Proxy可以负荷分担、缓存等提高性能的技术,来提高网络访问速度。反向代理, 对于用户是透明的,无需用户自己设置,一般也感知不到。
对于HTTP Proxy一般我们都比较了解,在IE选项中通过代理选项进行设置。对于WEB访问中的非HTTP请求,正向的HTTP代理是否会发挥作用呢?按照我现在的认识水平和把握的正向代理的原则来看,非HTTP请求的网络连接,需要在设计和编程处理,要自己主动穿上代理的外衣,要不然就是只能是直连。而这种过程并非像在IE中设置代理服务器这么一设置这么简单,通常是需要一大堆的代码进行支撑的。IE这么简单,是因为IE自己实现了Proxy的访问方式。
带着这样的问题,研究QQ登录时使用代理登录的情况,进行了证实。可以看到在选择SOCKS5代理时,QQ会首先跟代理服务器之间建立socks的过程,也符合网上对于socks代理的示意图
是需要客户端自身支持和特殊编程的,首先与代理服务器之间建链,而非一种网络自提供的基础功能,自动帮你代理。
至于QQ可以通过HTTP Proxy登录,是一种比较特殊的使用吧,好多HTTP Proxy也支持的不够好。
- 从半个砖家说开去--代理服务器
- 从宜家厕所前说开去
- 从"文人相轻"说开去...
- 从“盗版”说开去
- 从PDF说开去
- 从时间说开去
- 从《加速VB》说开去
- 从一个故事说开去
- 从second life说开去
- 从printf说开去(一)
- 从printf说开去(二)
- 从printf说开去(三)
- 从printf说开去(四)
- 从printf说开去(五)
- 从DUMP函数说开去
- [Loader] 从startLoading()说开去..
- 从DUMP函数说开去
- 从软件开发说开去
- 解决Visual Stuido 2012中Mono For Android *.axml文件没有智能提示问题
- Pascal 巴斯卡三角形(附代码)
- cocos2d-x源码剖析之场景管理
- android利用pull技术来解析和生成xml文件
- J48 源码学习| Weka
- 从半个砖家说开去--代理服务器
- Oracle多行记录合并自定义函数
- 第一章总结
- Java获取当前时间
- 做一个项目什么最重要(代码部分最多占40%)
- Windows Mobile 开发书籍介绍
- LeetCode - Two Sum
- DOM与JavaScript、jQuery之间的关系
- jQuery-File-Upload图片上传组件简要使用指南(挥泪共享)