directory search
Guides Access control CORS Authentication Browser detection using the user agent Caching Caching FAQ Compression Conditional requests Connection management in HTTP 1.x Content negotiation Content negotiation: List of default Accept values Cookies CSP Messages Overview Protocol upgrade mechanism Proxy servers and tunneling Proxy servers and tunneling: Proxy Auto-Configuration (PAC) file Public Key Pinning Range requests Redirections Resources and specifications Resources and URIs Response codes Server-Side Access Control Session Guides: Basics Basics of HTTP Choosing between www and non-www URLs Data URIs Evolution of HTTP Identifying resources on the Web MIME Types MIME types: Complete list of MIME types CSP Content-Security-Policy Content-Security-Policy-Report-Only CSP: base-uri CSP: block-all-mixed-content CSP: child-src CSP: connect-src CSP: default-src CSP: font-src CSP: form-action CSP: frame-ancestors CSP: frame-src CSP: img-src CSP: manifest-src CSP: media-src CSP: object-src CSP: plugin-types CSP: referrer CSP: report-uri CSP: require-sri-for CSP: sandbox CSP: script-src CSP: style-src CSP: upgrade-insecure-requests CSP: worker-src Headers Accept Accept-Charset Accept-Encoding Accept-Language Accept-Ranges Access-Control-Allow-Credentials Access-Control-Allow-Headers Access-Control-Allow-Methods Access-Control-Allow-Origin Access-Control-Expose-Headers Access-Control-Max-Age Access-Control-Request-Headers Access-Control-Request-Method Age Allow Authorization Cache-Control Connection Content-Disposition Content-Encoding Content-Language Content-Length Content-Location Content-Range Content-Type Cookie Cookie2 Date DNT ETag Expect Expires Forwarded From Headers Host If-Match If-Modified-Since If-None-Match If-Range If-Unmodified-Since Keep-Alive Large-Allocation Last-Modified Location Origin Pragma Proxy-Authenticate Proxy-Authorization Public-Key-Pins Public-Key-Pins-Report-Only Range Referer Referrer-Policy Retry-After Server Set-Cookie Set-Cookie2 SourceMap Strict-Transport-Security TE Tk Trailer Transfer-Encoding Upgrade-Insecure-Requests User-Agent User-Agent: Firefox Vary Via Warning WWW-Authenticate X-Content-Type-Options X-DNS-Prefetch-Control X-Forwarded-For X-Forwarded-Host X-Forwarded-Proto X-Frame-Options X-XSS-Protection Methods CONNECT DELETE GET HEAD Methods OPTIONS PATCH POST PUT Status 100 Continue 101 Switching Protocols 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect 308 Permanent Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Payload Too Large 414 URI Too Long 415 Unsupported Media Type 416 Range Not Satisfiable 417 Expectation Failed 426 Upgrade Required 428 Precondition Required 429 Too Many Requests 431 Request Header Fields Too Large 451 Unavailable For Legal Reasons 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 511 Network Authentication Required Status
characters

在通过互联网的不同网络进行导航时,代理服务器和HTTP隧道有助于访问万维网上的内容。代理可以位于用户的本地计算机上,也可以位于用户计算机与Internet上目标服务器之间的任何位置。本页概述了一些关于代理的基础知识,并介绍了一些配置选项。

有两种类型的代理:正向代理(或隧道或网关)和反向代理(用于控制和保护对服务器的访问以进行负载平衡,身份验证,解密或缓存)。

转发代理

转发代理或网关,或者只是“代理”为客户或一组客户提供代理服务。互联网上可能有成千上万的开放式转发代理。它们存储和转发互联网服务(如DNS或网页)以减少和控制该组使用的带宽。

转发代理也可以是匿名代理,并允许用户在浏览Web或使用其他Internet服务时隐藏其IP地址。TOR(洋葱路由器)通过多个代理匿名发送互联网流量。

反向代理

顾名思义,反向代理的作用与转发代理的作用相反:转发代理代表客户端(或请求主机),反向代理服务器代表服务器。转发代理可以隐藏客户端的身份,而反向代理可以隐藏服务器的身份。反向代理有几个用例,其中一些是:

  • 负载均衡:将负载分配给多个Web服务器,

  • 缓存静态内容:通过缓存图片等静态内容来卸载Web服务器,

  • 压缩:压缩并优化内容以加快加载时间。

通过代理转发客户端信息

代理可以使请求看起来好像是源自代理的IP地址。如果使用代理提供客户端匿名,这可能很有用,但在其他情况下,原始请求中的信息会丢失。原始客户端的IP地址通常用于调试,统计或生成依赖于位置的内容。披露此信息的常用方法是使用以下HTTP标头:

标准化标题:

Forwarded包含代理服务器的面向客户端的信息,这些信息在请求路径中包含代理时发生了改变或丢失。

或事实上的标准版本:

X-Forwarded-For标识通过HTTP代理或负载平衡器连接到Web服务器的客户端的始发IP地址。X-Forwarded-Host标识客户端用于连接到代理或负载平衡器的原始主机请求。X-Forwarded-Proto标识客户端用于连接到代理或负载平衡器的协议(HTTP或HTTPS)。

要提供有关代理本身的信息(而不是关于连接到它的客户端),Via可以使用标题。

Via代理添加了正向和反向代理,并且可以出现在请求头和响应头中。

HTTP隧道

隧道通过封装数据通过公共网络传输专用网络数据和协议信息。HTTP隧道正在使用较高级别的协议(HTTP)来传输较低级别的协议(TCP)。

HTTP协议指定一个调用的请求方法CONNECT。它启动与请求资源的双向通信,并可用于打开隧道。这就是HTTP代理服务器后面的客户端如何使用SSL访问网站(即HTTPS,端口443)。但请注意,并非所有代理服务器都支持该CONNECT方法,或仅将其限制为端口443。

Previous article: Next article: