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版本)安装包: ...
随机推荐
- window下上传文件至linux(windows下如何访问linux)
========相信我,按照步骤来一定能成功====== 我将从三个方面来说明:为什么要搭建访问服务器.如何搭建访问服务器.windows如下访问 为什么要搭建访问Linux服务器 我们都知道,服务器 ...
- Java用户名登录学生信息管理系统并对其进行增删改查操作
package zzzzzzzz; import java.io.*;//作者:凯鲁嘎吉 - 博客园//http://www.cnblogs.com/kailugaji/ public class T ...
- 5、爬虫系列之scrapy框架
一 scrapy框架简介 1 介绍 (1) 什么是Scrapy? Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍.所谓的框架就是一个已经被集成了各种功能(高性能 ...
- vuejs_01项目启动
知识点 .npm 相关命令 npm list -g --depth= 查看全局安装了哪些依赖 项目启动 npm install vue-cli -g 安装vue脚手架 vue init webpack ...
- JS中=>,>>>是什么意思
最近经常看到 JS中=>,符号,于是查了一下别人的博客 =>是es6语法中的arrow function 举例:(x) => x + 6 相当于 function(x){ ret ...
- mysql 拒绝访问的解决办法
java.sql.SQLException: null, message from server: "Host 'xxx' is not allowed to connect to thi ...
- WPFの操作文件浏览框几种方式
方式1: 使用win32控件OpenFileDialog Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog ...
- Android应用启动、退出分析
http://www.jianshu.com/p/72059201b10a §AMS和应用进程 §应用启动流程 §应用退出流程 §启动.退出消息 AMS和应用进程 应用进程 <- 系统管理 &l ...
- BZOJ4170:极光(CDQ分治)
Description "若是万一琪露诺(俗称rhl)进行攻击,什么都好,冷静地回答她的问题来吸引她.对方表现出兴趣的话,那就慢慢地反问.在她考虑答案的时候,趁机逃吧.就算是很简单的问题,她 ...
- PHP的curl查看header信息的功能(包括查看返回header和请求header)
PHP的curl功能十分强大,简单点说,就是一个PHP实现浏览器的基础. 最常用的可能就是抓取远程数据或者向远程POST数据.但是在这个过程中,调试时,可能会有查看header的必要. 如下: ech ...