本文转自:
http://www.cnblogs.com/TankXiao/archive/2012/12/12/2794160.html
这次介绍代理服务器, 代理服务器是HTTP协议中一个重要的组件, 发挥着重要的作用。 本文介绍一些HTTP代理服务器的概念和工作原理
什么是代理服务器
Web代理(proxy)服务器是网络的中间实体。 代理位于Web客户端和Web服务器之间,扮演“中间人”的角色。
HTTP的代理服务器即是Web服务器又是Web客户端。
Fiddler就是个典型的代理
Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler退出的时候它会自动注销代理,这样就不会影响别的程序。
代理的作用一, 翻-墙
很多人都喜欢用Facebook, 看youTube。但是我们在天朝,天朝有The Great of Wall(长城防火墙),屏蔽了这些好网站。 怎么办? 通过代理来跳墙,就可以访问了。
自己去寻找代理服务器很麻烦, 一般都是用翻-墙软件来自动发现代理服务器的。
代理的作用二, 匿名访问
经常听新闻,说”某某某“在网络上发布帖子,被跨省追缉了。 假如他使用匿名的代理服务器,就不容易暴露自己的身份了。
http代理服务器的匿名性是指: HTTP代理服务器通过删除HTTP报文中的身份特性(比如客户端的IP地址, 或cookie,或URI的会话ID), 从而对远端服务器隐藏原始用户的IP地址以及其他细节。 同时HTTP代理服务器上也不会记录原始用户访问记录的log(否则也会被查到)。
代理的作用三, 通过代理上网
比如局域网不能上网, 只能通过局域网内的一台代理服务器上网。
代理的作用四, 通过代理缓存,加快上网速度
大部分代理服务器都具有缓存的功能,就好像一个大的cache, 它有很大的存储空间,它不断将新取得数据存储到它本地的存储器上, 如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传给用户的浏览器,这样就能显著提高浏览速度。
代理的作用五:儿童过滤器
很多教育机构, 会利用过滤器代理来阻止学生访问成人内容。
IE代理设置:手动设置代理
IE浏览器可以手动设置代理, 很简单,指定一个IP地址和端口就可以了。 如下图。
工具 -> Internet选项 -> 连接 -> 局域网设置 (快捷键)
假如代理服务器的IP地址改变了,或者端口号改变了。 难道要几百个客户端的浏览器去修改浏览器设置? Impossable 这太难维护了。 下面还有一种更高级点的方法。
IE代理设置:使用自动配置脚本(PAC)
手动配置代理很简单,但是不灵活。 只能指定一个代理服务器,而且不支持故障转移。
在大公司里一般都使用PAC文件来配置。只需要指定PAC文件的URL就可以了, 如图:
PAC(Proxy Auto Config)文件是一个小型的JavaScript程序的文本文件,后缀为.dat。
当浏览器访问网络的时候,会根据PAC文件中的JavaScript函数来选择恰当的代理服务器。
sample_pac.dat文件的内容
function FindProxyForURL(url, host) {
if (url.substring(0, 5) == "http:") {
// 应该使用指定的代理
return "PROXY proxy:80";
}
else if (url.substring(0, 4) == "ftp:") {
return "PROXY fproxy:80";
}
else if (url.substring(0, 7) == "gopher:") {
return "PROXY gproxy";
}
else if (url.substring(0, 6) == "https:") {
return "PROXY secproxy:8080";
}
else {
// 直连,不经过任何代理
return "DIRECT";
}
}
IE代理设置:自动探测设置(WPAD)
浏览器只要选中“自动检测设置”, 就可以使用WPAD协议, WPAD会自动找到PAC文件的URL。 WPAD会使用一系列的资源发现技术(DHCP,DNS等)去寻找PAC文件。
代理认证,和407状态码
代理服务器也可以需要权限认证, HTTP定义了一种名为代理认证(Proxy authentication)的机制。 这种机制可以阻止对内容的请求。
当浏览器访问需要认证的代理时, 代理服务器会返回407 Authorization Required,告诉浏览器输入用户名和密码。
代理认证跟HTTP基本认证是一样的机制, 如需了解代理认证的机制,请看[
HTTP协议基本认证]
使用代理服务器的安全问题
代理服务器和抓包工具(比如Fiddler)都能看到http request中的数据。 如果我们发送的request中有敏感数据,比如用户名,密码,信用卡号码。这些信息都会被代理服务器看到。所以非常危险。 所以我们一般都是用HTTPS来加密Http request. 这样代理服务器就看不到里面的数据了。
如何搭建代理服务器
可以使用CCproxy, 和Squid 来搭建代理服务器。
分享到:
相关推荐
(1) HTTP超文本传输协议用于定义web页面(超文本)在网络上的交互方式的应用层协议,使用客户/服务器的工作方式。HTTP协议定义了web客户端(浏览器)如何向web站点请求web网页以及web服务器如何将web页传送给客户...
招生业务代理协议书 甲方:杭州xx汽车驾驶员培训有限公司 法定代表人:王刚 联系地址:杭州市机场路一巷71号 联系电话:86708180 乙方: 法定代表人: 联系电话: 联系地址: 身份证或工商注册号 依据《中华人民...
图解ARP协议(四)代理ARP原理与实践(“善意的欺骗”
销售代理协议样式五精选.doc
最新经销代理合同模板销售代理协议样式五WORD文档版本.docx
代理:空 端口:空 用户名:空 密码:空 服务器:空 MMSC:空 彩信代理:空 彩信端口:空 彩信协议:WAP 2.0 MCC:460 MNC:00 APN类型:default 点击外键MENU——保存 二、再次点击MENU键——新APN ...
4. 第五章中介绍了如何将SIP 协议栈ZmhSipStack移植到嵌入式ARM/μCOS-Ⅱ 环境下,并介绍了基于此协议栈编写的应用于嵌入式ARM平台的用户代理程序和服务器程序; 5. 第六章应用用户代理和服务器程序在PC机和ARM平台...
2.作者:Poul-Henning Kamp是FreeBSD的内核开发者之一 3.储存介质:内存、硬盘与CPU内的L1、L2,甚至有L3缓存 4.CDN (co
网关协议(GGP) 147 14.3.2 外部网关协议(EGP) 147 14.3.3 内部网关协议(IGP) 148 14.4 小结 148 第五部分 网络服务 第15章 互联网打印协议 149 15.1 IPP历史 149 15.2 IPP和端用户 150 15.3...
用完整的例子展示HTTP协议的各个环节,包含网络分层模型、TCP和HTTP的关系、HTTP数据包构成、头行信息的定义、数据传输类型、缓存和资源校验、Cookie和Session、各种非常有意义的Header、Nginx使用和代理、缓存配置...
五、纠纷的解决:凡因履行本协议所发生的争议,甲乙双方应友好协商解决如协商不成: 向北京市大兴区人民法院起诉。 六、有关费用负担 在转让过程中,发生的与转让有关的费用(如公证、审计、工商变更登记等),...
《会话初始协议 (SIP)技术要求》分为5个部分, 规定了会话初始协议的技术要求,包括SIP消息,用户代理基本行为,请求取消,查询能力,对话,会话发起过程,会话更改过程。。。。。
1、由XXXXXX公司签署代理协议之内的,所有品牌的货物; 2、由双方合伙人共同参与洽谈、跟踪、运营的临时独立业务; 3、非公司代理范围之内的,由一方单独操作的临时独立业务,不在此合作协议范围之内,由此产生的...
Titanium Web代理 ...Windows域上通过HTTP协议的Kerberos / NTLM身份验证 SOCKS4 / 5代理支持 安装 通过安装 对于上的版本 Install-Package Titanium.Web.Proxy -Pre 用于上的发布 Install-Package T
10.1.6 传真的五个阶段介绍 10.2 传真Modem的分类 10.2.1 传真分类 10.2.2 一类传真Modem 10.2.3 二类传真Modem 10.3 传真会话实例描述 10.3.1 一类传真的发送实例 10.3.2 一类传真的接收实例 10.3.3 二类...
选择一项: 文件传输协议和网际协议 传输层协议和路由协议 文件传输协议和路由协议 传输层协议和网际协议 反馈正确答案是:传输层协议和网际协议 题目 12 Ping 远程 IP ,如果收到 个应答,表示成功地使用了默认...
08-从五种架构风格推导出HTTP的REST架构 09-如何用Chrome的Network面板分析HTTP报文 10-URI的基本格式以及与URL的区别 11-为什么要对URI进行编码? 12-详解HTTP的请求行 13-HTTP的正确响应码 14-HTTP的错误响应码 15...
介绍github:Create a Socks 4/5 proxy on port 1234:Create a simple tcp port forward:
该项目在Windows中实现了五种流行的协议: Cygwin UNIX套接字 Windows UNIX套接字(Windows 10 1803或更高版本) 命名管道 Pageant SSH代理协议 基本用法 启动WinCryptSSHAgent 右键单击任务栏上的图标 您可以通过...
响应代理定时获取在线服务器列表服务器:提供代理rpc服务器调用,从mongodb中获取代理监控配置,保存服务器在线信息到mongodb,发送日志到进行可视化代理:netlink家族的NETLINK_AUDIT协议监听SYSCALL时间,规则可以...