HTTP协议图--与 HTTP 协作的 Web 服务器

HTTP 通信时,除客户端和服务器外,还有一些用于协助通信的应用程序。如下列出比较重要的几个:代理、缓存、网关、隧道、Agent 代理

1.代理

代理

HTTP 代理服务器是 Web 安全、应用集成以及性能优化的重要组成模块。代理位于客户端和服务器端之间,接收客户端所有的 HTTP 请求,并将这些请求转发给服务器(可能会对请求进行修改之后再进行转发)。对用户来说,这些应用程序就是一个代理,代表用户访问服务器。
出于安全考虑,通常会将代理作为转发所有 Web 流量的可信任中间节点使用。代理还可以对请求和响应进行过滤,安全上网或绿色上网。

2. 缓存

浏览器第一次请求:

浏览器第一次请求

浏览器再次请求:

浏览器再次请求

Web 缓存或代理缓存是一种特殊的 HTTP 代理服务器,可以将经过代理传输的常用文档复制保存起来。下一个请求同一文档的客户端就可以享受缓存的私有副本所提供的服务了。客户端从附近的缓存下载文档会比从远程 Web 服务器下载快得多。

3. 网关

HTTP / FTP 网关

网关是一种特殊的服务器,作为其他服务器的中间实体使用。通常用于将 HTTP 流量转换成其他的协议。网关接收请求时就好像自己是资源的源服务器一样。客户端可能并不知道自己正在跟一个网关进行通信。

4. 隧道

HTTP/SSL 隧道

隧道是会在建立起来之后,就会在两条连接之间对原始数据进行盲转发的 HTTP 应用程序。HTTP 隧道通常用来在一条或多条 HTTP 连接上转发非 HTTP 数据,转发时不会窥探数据。
HTTP 隧道的一种常见用途就是通过 HTTP 连接承载加密的安全套接字层(SSL)流量,这样 SSL 流量就可以穿过只允许 Web 流量通过的防火墙了。

5. Agent 代理

自动搜索引擎“网络蜘蛛”

Agent 代理是代表用户发起 HTTP 请求的客户端应用程序。所有发布 Web 请求的应用程序都是 HTTP Agent 代理。

原文地址:https://www.cnblogs.com/tutougold/p/11722861.html

时间: 2024-11-10 16:47:15

HTTP协议图--与 HTTP 协作的 Web 服务器的相关文章

第五章 与HTTP协作的Web服务器

第五章  与HTTP协作的Web服务器 一台Web服务器可搭建多个独立域名的Web网站,也可以作为通信路径上的中转服务器提升传输效率. 1.用单台虚拟机实现多个域名 HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点.即使物理层面只有一台服务器,但只要使用虚拟主机,则可以假想已具有多台服务器.在相同IP地址下,由于虚拟主机可以寄存多个不同主机和域名的Web网站,因此发送HTTP请求时,必须在Host首部内完整指定主机名或域名的URI. 2.通信数据转发程序:代理.网关.隧道 HTTP除

图解http协议(五章与http协作的web服务器)

今天看了网络协议(5)web服务器. 第二章我们了解了一个简单的客户端和服务器进行交互的方式.现在我们看看在实际中是做哪些改进的吧. 1 关键字:映射.这个映射就是可以使客户端和服务器分离了.一个客户端对应一个DNS映射,然后通过映射把他的请求发送到服务器上,这就感觉像是一个古代的媒婆,她必须深谐两家的思维习惯.把这边的话"映射"翻译给了那边. 2 两个大头确定了,那么他们之间怎么交流呢?是,通过映射.可是谁来执行呢?那就引出了这几个小鲜肉.代理,网关,和隧道. 先看代理.代理就是向一

http协议入门(五)与http协作的web服务器

这篇主要说说通信数据的转发程序和缓存的一些知识点... 1.http1.1规范允许一台http服务器搭建多个web站点... 比如提供web托管服务的供应商,可以用一台服务器为多为客户服务,也可以以每位客户持有的域名运行各自不同的网站,这里利用了虚拟服务器的功能... 客户端使用http协议访问服务器时,会经常采用类似www.baidu.con这样的主机名和域名 在互联网上,域名通过DNS服务映射到IP地址之后访问目标网站,可见,请求发送到服务器时,已经是以IP地址形式访问 所以,如果一台服务器

【图解HTTP笔记】第五章 与HTTP协作的Web服务器

一.单台虚拟主机实现多个域名 a)      单个主机搭载多个Web站点,不仅仅可以为多个客户端服务,还可以对多个持有不同域名的客户端进行服务,这就要利用虚拟主机(virtual host)功能.(一对多"服务",还能提供不同的"服务") b)        在互联网上,DNS将域名映射成IP地址,每个主机的IP地址是唯一的. c)        在单台虚拟主机中,可以寄存不同的主机名,因此在发送HTTP请求时,一定在HTTP首部内指定完整的主机名或者URI. 二.

HTTP知识普及系列:与HTTP协作的Web服务器

HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点. 相同IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的Web网站,因此在发送HTTP请求时,必须在Host首部内完整指定主机或域名的URL HTTP通信时,除客户端和服务器以外,还有一些用于通信数据转发的应用程序,例如代理.网关和隧道. 代理是一种转发功能的应用程序,它扮演了位于服务端和客户端“中间人”的角色. 网关是转发其他服务器通信数据的服务器. 隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序

与HTTP协作的Web服务器——代理、网关、隧道

1.虚拟主机 (1)HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点: (2)在互联网上,域名通过DNS服务映射到IP地址(域名解析)之后访问目标网站,即当请求发送到服务器时,已经是以IP地址形式访问了: (3)若两个域名同时部署在一个服务器上(相同的IP地址),使用DNS服务解析域名后,两者的访问IP是相同的: (4)在相同的IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的Web网站,因此在发送HTTP请求时,必须在Host首部内完整指定主机名或域名的URI. 2.代理 (1

HTTP协议图--HTTP 响应状态码(重点分析)

1. 状态码概述 HTTP 状态码负责表示客户端 HTTP 请求的返回结果.标记服务器端的处理是否正常.通知出现的错误等工作. HTTP 状态码如 200 OK ,以 3 位数字和原因短语组成.数字中的第一位指定了响应类别,后两位无分类. 不少返回的响应状态码都是错误的,但是用户可能察觉不到这点.比如 Web 应用程序内部发生错误,状态码依然返回 200 OK. 2. 状态码类别   类别 原因短语 1xx Informational(信息性状态码) 接收的请求正在处理 2xx Success(

Web服务器的工作原理

Web服务器工作原理概述 很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了什么动作?Java Servlet API(例如ServletContext,ServletRequest,ServletResponse和Session这些类)在其中扮演了什么角色?这些都是web应用开发者或者想成为web应用开发者的人必须要知道的重要问题或概念.在这篇文章里,我将会尽量给出以上某些问题的答案.请集中精神

Socket网络编程--简单Web服务器(1)

这一次的Socket系列准备讲Web服务器.就是编写一个简单的Web服务器,具体怎么做呢?我也不是很清楚流程,所以我找来了一个开源的小的Web服务器--tinyhttpd.这个服务器才500多行的代码,使用C语言.这一小节就不讲别的内容了.就对这个程序进行一些注释和讲解了. 主函数: 1 int main(void) 2 { 3 int server_sock = -1; 4 u_short port = 0; 5 int client_sock = -1; 6 struct sockaddr_