本章说的是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,那这个时候也可以找个海外服务器做代理,就可以连上去了
分享到:
相关推荐
安卓Android源码——TorProxy和Shadow开源项目.zip
Android源码——TorProxy和Shadow开源项目.zip
Android源码——TorProxy和Shadow开源项目.7z
经典的Android项目——TorProxy和Shadow开源项目.zip
【课程大纲】 第1章 初始MySQL 共19...第21章 读写分离的利器——MySQL Proxy 共5页.pptx 第22章 PHP操作MySQL数据库 共7页.pptx 第23章 新闻发布系统数据库设计 共6页.pptx 第24章 论坛管理系统数据库设计 共6页.pptx
"安卓Android源码——TorProxy应用实现了手机无线电电传通讯(TOR)"是一个专注于隐私保护和匿名网络浏览的项目,它利用了著名的TOR网络。这篇内容将深入探讨这个项目的核心知识点,包括Android源码、TorProxy应用以及...
这个“安卓Android源码——TorProxy应用实现了Android手机无线电电传通讯(TOR)”的压缩包文件提供了一个具体的实例,展示了如何在Android设备上集成Tor服务,以增强用户隐私和数据安全。 首先,Tor(The Onion ...
Java反射机制是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性...通过阅读"JAVA私塾笔记整理——反射机制(Reflection)",你可以更全面地理解和掌握这一关键特性。
Java实现HTTP PROXY是一个常见的需求,特别是在开发网络应用或者测试环境中,我们可能需要通过代理服务器转发HTTP请求。本文将深入探讨如何使用Java编程语言来创建一个HTTP代理服务器,并且会涉及相关的源码分析。 ...
HttpProxy HTTP代理服务器 HttpProxy HTTP代理服务器 HttpProxy HTTP代理服务器 HttpProxy HTTP代理服务器
ngx_http_proxy_connect_module是一个针对Nginx服务器的第三方模块,主要功能是支持HTTP代理的"CONNECT"方法。在默认情况下,Nginx仅处理HTTP和HTTPS请求,但不支持通过HTTP代理进行TCP连接,比如SSL/TLS隧道。这个...
apache Proxy Error apache Proxy Error apache Proxy Error apache Proxy Error
httpProxy,http/https代理服务器的源码,VC编译测试通过
超轻量型 Http proxy Server,用来学习非常不错,实现GET/POST 的 Web 处理,可以帮助我们真正理解服务器程序的本质。
请访问http://liuyang.7i24.com获得最新版...还有IP地址绑定,用户权限,过滤,禁用站点,站点重定向,多线程上一级代理验证(象Proxy Hunter),服务器消息自定义等。 for all Windows 32系统(98/me/NT/2k/XP/.Net)
在给定的标题和描述中,"proxy.jsp、proxy.ashx、proxy.php、proxy.config"是指四种常见的代理服务实现,分别对应Java、ASP.NET和PHP等不同平台。这些文件通常用于配置和运行Esri的代理服务。 **proxy.jsp** 是一个...
在 Node.js 开发中,`http-proxy-middleware` 是一款非常实用的中间件,主要用于将 HTTP 请求代理转发到其他服务器,这在构建 API 网关、微服务架构或者需要跨域访问时非常有用。这个中间件简化了配置过程,使得...