http指南(2)--代理
代理
单个客户端专用的代理称为私有代理,众多客户端共享的代理被称为公共代理
代理与网关的对比:代理连接的是两个或多个使用相同协议的应用程序,而网关连接的则是两个或多个使用不同协议的端点。网关扮演的是“协议转换器”的角色,即使客户端和服务器使用的是不同的协议,客户端也可以通过它完成与服务器之间的事务处理。
为什么使用代理
代理服务器可以看到并接触到所有流过的HTTP流量,所以代理可以监视流量并对其进行修改,以实现很多有用的增值Web服务,比如儿童过滤器,文档访问控制,安全防火墙,web缓存,反向代理,内容路由器,转码器,匿名者。
反向代理
代理可以假扮Web服务器。这些被称为替代物或反向代理的代理接收发给Web服务器的真实请求,但与Web服务器不同的是,它们可以发起与其它服务器的通信,以便按需定位所请求的内容。
可以用这些反向代理来提高访问慢速Web服务器上公共内容时的性能。在这种配置中,通常将这些反向代理称为服务器加速器。还可以将替代物与内容路由功能配合使用,以创建按需复制内容的分布式网络。
四种常见方式可以使客户端流量流向代理:
修改客户端:如果将客户端配置为使用代理服务器,客户端就会将HTTP请求有意地直接发送给代理,而不是原始服务器;
修改网络:依赖于监视HTTP流量的交换设备及路由设备,在客户端毫不知情的情况下,对其进行拦截,并将流量导入一个代理。这种代理被称为拦截代理。
修改DNS的命名空间:
修改Web服务器:可以将某些Web服务器配置为向客户端发送一条HTTP重定向命令(响应码为305),将客户端请求重定向到一个代理上去。收到重定向命令后,客户端会与代理进行通信
客户端代理的设置
手工配置:显式地设置要使用的代理。
预先配置浏览器:浏览器厂商或发行商会在将浏览器发送给其客户之前预先对浏览器的代理设置进行手工配置。
代理的自动配置:提供一个URI,指向一个用JavaScript语言编写的代理自动配置文件;客户端会取回这个JavaScript文件,并运行它以决定是否应该使用一个代理,如果是的话,应该使用哪个代理服务器;
WPAD的代理发现:
有些浏览器支持Web代理自动发现协议,这个协议会自动检测出浏览器可以从哪个“配置服务器”下载到一个自动配置文件。
URI的客户端自动扩展和主机名解析
没有代理时URI的解析:没有提供显式的代理时,浏览器会对部分主机名进行自动扩展。
有显式代理时URI的解析:使用显式代理时,用户的URI会被直接发送给代理,所以浏览器就不再执行所有这些便捷的扩展功能了。有些代理会尽力尝试着去模仿浏览器的便捷服务,包括www...com自动扩展,以及添加本地域名后缀。
追踪报文:
随着代理的逐渐流行,我们要能够追踪经过代理的报文流,以检测出各种问题,其重要性就跟追踪经过不同交换机和路由器传输的IP分组流一样。可以通过Via首部和Track方法。
代理认证:
代理可以作为访问控制设备使用。HTTP定义了一种名为代理认证的机制,这种机制可以阻止对内容的请求,直到用户向代理提供了有效的访问权限证书为止。对受限内容的请求到达一台代理服务器时,代理服务器可以返回一个要求使用访问证书的407 Proxy Authorization Required状态码。
代理的互操作性
Options:发现对可选特性的支持,通过使用Options,客户端可以在与服务器进行交互之前,确定服务器的能力,这样它就可以方便地与具备不同特性的代理和服务器进行互操作了。Http/1.1在响应中唯一指定的首部字段是Allow首部,这个首部用于描述服务器所支持的各种方法(或者服务器上的特定资源).Options允许在可选的响应主体包含更多的信息,但并没有对这种用法进行定义。
http指南(2)--代理的更多相关文章
- Spring5参考指南:AOP代理
文章目录 AOP代理 AOP Proxies原理 AOP代理 通常来说Spring AOP有两种代理方式,一种默认的JDK代理,只能代理接口,一种是CGLIB代理,可以代理具体的类对象. Spring ...
- Wireshark抓包分析/TCP/Http/Https及代理IP的识别
前言 坦白讲,没想好怎样的开头.辗转三年过去了.一切已经变化了许多,一切似乎从没有改变. 前段时间调研了一次代理相关的知识,简单整理一下分享之.如有错误,欢迎指正. 涉及 Proxy IP应用 原理/ ...
- apigateway-kong(三)Proxy规则
本篇详细记录了Kong的代理功能及其路由功能和内部工作. Kong公开了几个可以通过两个配置属性进行调整的接口:proxy_listen,默认8000,它定义Kong将接受来自客户端的公共流量并将其代 ...
- 企业IT管理员IE11升级指南【15】—— 代理自动配置脚本
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- 企业IT管理员IE11升级指南【14】—— IE11代理服务器配置
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- [转]Nginx反向代理和负载均衡部署指南
Nginx反向代理和负载均衡部署指南 1. 安装 1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最 ...
- 安全开发运维必备,如何进行Nginx代理Web服务器性能优化与安全加固配置,看这篇指南就够了
本章目录 1.引言 1.1 目的 1.2 目标范围 1.3 读者对象 2.参考说明 2.1 帮助参考 2.2 参数说明 3.3 模块说明 3.服务优化 3.1 系统内核 3.2 编译优化 3.3 性能 ...
- Nginx反向代理部署指南
一.反向代理 我们都知道,80端口是web服务的默认端口,其他主机访问web服务器也是默认和80端口进行web交互,而一台服务器也只有一个80端口,这是约定俗成的标准. 我们来看下面两个场景: 1.服 ...
- Nginx反向代理和负载均衡部署指南
1. 安装 1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包: ...
随机推荐
- JavaScript大杂烩2 - 理解JavaScript的函数
JavaScript中的字面量 书接上回,我们已经知道在JavaScript中存在轻量级的string,number,boolean与重量级的String,Number,Boolean,而且也知道了之 ...
- 洗礼灵魂,修炼python(38)--面向对象编程(8)—从算术运算符进一步认识魔法方法
上一篇文章了解了魔法方法,相信你已经归魔法方法至少有个概念了,那么今天就进一步的认识魔法方法.说这个之前,大脑里先回忆一下算术操作符. 什么是算术操作符?忘记没有?忘记了的自己倒回去看我前面的博文或者 ...
- iOS 多线程之GCD的简单使用
在iOS开发中,遇到耗时操作,我们经常用到多线程技术.Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法,只需定义想要执行的任务,然后添加到适当的调度队列 ...
- php解决前后端验证字符串长度不一致
前端代码 function getStrleng(str){ var myLen =0; for(var i=0;i<str.length;i++){ if(str.charCodeAt(i)& ...
- pt-query-digest详解慢查询日志(转)
一.简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog.General log.slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdu ...
- 17秋 软件工程 第六次作业 Beta冲刺 总结博客
题目:团队作业--Beta冲刺 17秋 软件工程 第六次作业 Beta冲刺 总结博客 Beta冲刺过程中各个成员的贡献百分比 世强:15.5% 陈翔:14.5% 树民:12.0% 媛媛:14.0% 港 ...
- python框架面试题联系
1.对 MVC,MVT 解读的理解? M:Model,模型,和数据库进行交互 V:View,视图,负责产生 Html 页面 C:Controller,控制器,接收请求,进行处理,与 M 和 V 进行交 ...
- 关于解决Python中requests模块在PyCharm工具中导入问题
问题引入: 今天在学习Python网络请求的时候,导入requests模块时一直报红色波浪线,如图: 反复折腾,一直以为自己没有安装requests模块,反复安装反复卸载: 安装方法: 首先 cd 进 ...
- 5分钟入门Tornado
Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了能有效 ...
- 【洛谷】【数论】P1876 开灯
[题目描述:] 首先所有的灯都是关的(注意是关!),编号为1的人走过来,把是一的倍数的灯全部打开,编号为二的的把是二的倍数的灯全部关上,编号为3的人又把是三的倍数的灯开的关上,关的开起来--直到第N个 ...