1、虚拟主机

(1)HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点;

(2)在互联网上,域名通过DNS服务映射到IP地址(域名解析)之后访问目标网站,即当请求发送到服务器时,已经是以IP地址形式访问了;

(3)若两个域名同时部署在一个服务器上(相同的IP地址),使用DNS服务解析域名后,两者的访问IP是相同的;

(4)在相同的IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的Web网站,因此在发送HTTP请求时,必须在Host首部内完整指定主机名或域名的URI。

2、代理

(1)、定义

代理是一种具有转发功能的应用程序,它扮演了位于服务器和客户端之间“中间人”的角色,接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端。

(2)、特点

a)、代理不改变请求URI,会直接发送给前方持有资源的目标服务器;

b)、在HTTP通信过程中,可以级联多台代理服务器。转发时,需要附加Via首部字段以标记经过的主机信息。

(3)、作用

利用缓存技术减少网络带宽的流量,组织内部针对特定网站的访问控制,以获取访问日志为主要目的。

(4)、分类

代理有两种分类基准:一种是按照是否使用缓存,一种是是否会修改报文。

a)代理转发响应时,缓存代理会预先将资源的副本(缓存)保存在代理服务器上。当代理再次接收到对相同资源的请求时,就可以不从源服务器那里获取资源,而是将之前缓存的资源作为响应返回。

b)转发请求或响应时,不对报文做任何加工的代理类型被称为透明代理。

3、网关

(1)、定义

网关是转发其他服务器通信数据的服务器,接收从客户端发送来的请求时,它就像自己拥有资源的资源服务器一样对请求进行 处理。有时候客户端都不会察觉,自己的通信目标是一个网关。

(2)、特点

网关的工作机制和代理十分相似。而网关能够使通信线路上的服务器提供非HTTP协议服务。

利用网关能够提高通信的安全性,因为可以在客户机和网关之间的通信线路上加密以确保连接的安全。比如,网关可以连接数据库,使用SQL语句查询数据。另外,在Web网站购物网站上进行信用卡结算时,网关可以和信用卡结算系统联动。

4、隧道

(1)、定义

隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。

(2)、特点

隧道本身不去解析HTTP请求,即请求保持原样中转给之后的服务器。

与HTTP协作的Web服务器——代理、网关、隧道的更多相关文章

  1. 与http协作的web服务器--代理、网关、隧道

    一台服务器可以搭建多个web站点 代理: 接受客户端发送的请求,转发给其他服务器,然后接受服务器的返回结果(响应)再返回给客户端.每次经过代理服务器,就会追加写入via首部信息. 按两种基准分类.一种 ...

  2. 与http协作的web服务器、http首部(第五章、第六章)

    第五章 与http协作的web服务器 1.用单台虚拟主机实现多个域名 通过域名访问主机,经过DNS解析成ip地址,反向代理,可以代理多台服务器,正向代理则相反,代理客户端 2.通信数据转化程序:代理. ...

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

    第五章  与HTTP协作的Web服务器 一台Web服务器可搭建多个独立域名的Web网站,也可以作为通信路径上的中转服务器提升传输效率. 1.用单台虚拟机实现多个域名 HTTP/1.1规范允许一台HTT ...

  4. 读《图解HTTP》有感-(与HTTP协作的WEB服务器)

    写在前面 Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档: 一台web服务器可以搭建多个独立域名的web网站,也可以作为通信路径(路由)上的中 ...

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

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

  6. 图解HTTP总结(5)——与HTTP协作的Web服务器

    一台 Web 服务器可搭建多个独立域名的 Web 网站, 也可作为通信路径上的中转服务器提升传输效率. 用单台虚拟主机实现多个域名 HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站 ...

  7. 与http协作的web服务器

    1.虚拟主机 一台web服务器可以搭建多个独立域名的web网站,也可以作为通信线路上的中转服务器提升传输效率.比如web托管服务供应商可以用一台服务器为多个不同域名的客户提供服务,这是利用了虚拟主机( ...

  8. 《图解HTTP》读书笔记(七:通信数据转发程序-代理/网关/隧道)

    HTTP通信时,除客户端和服务器以外,还有一些用于通信数据转发的应用程序,例如代理.网关和隧道,它们可以配合服务器工作.这些服务器和应用程序可以将请求转发给通信线路上的下一站服务器,并且能接收从那台服 ...

  9. 图解 HTTP 笔记(五)——Web 服务器

    该章的主要内容是讲解与 HTTP 协作的 Web 服务器 一.用单台虚拟主机实现多个域名 基于虚拟主机的功能,可以只使用一台物理机实现多个域名的网站部署. 在互联网上,域名通过 DNS 域名解析系统可 ...

随机推荐

  1. [Vuejs] 在vue各个组件中应用全局scss变量

    需要安装一个插件:sass-resources-loader 1.执行安装命令: npm i sass-resources-loader --save-dev 2.修改vue-cli环境下build文 ...

  2. Java中集合关键字的区别

    1. ArrayList.Vector和Stack有什么区别? 1.ArrayList的方法和实现基本上和Vector一样,底层都是数组的实现(简:API基本一样) ​   2.Stack继承了Vec ...

  3. k8s-kubernetes-configmap存储

    存储 configMap configMap描述信息 ConfigMap功能在Kubernetes1.2版本中引入,许多应用程序会从配置文件.命令行参数或环境变量中读取配置信息. ConfigMap ...

  4. springMvc中获取通过注解获取properties配置文件(转)

    springMvc的项目中,通过注解@Value获取properties配置文件中的配置,使用该注解必须引入的包: spring-beans-4.1.4.RELEASE.jar 下面是需要在sprin ...

  5. T2 AC自动机

    T2:AC自动机 (ac.cpp) 题目背景 YZD在每天学习20小时的勤奋研究下,终于开发出了AC自动机!但是,这台AC自动机有一些bug,比如两个部件之间经常会出一些莫名其妙的问题,所以他想要随时 ...

  6. day 15 模块 相对导入

    自定义模块: 什么是模块:本质就是.py文件,封装语句的最小单位. 自定义模块:实际上就是定义.py,其中可以包含:变量定义,可执行语句,for循环,函数定义等等,他们统称模块的成员. 模块的运行方式 ...

  7. J2EE WEB应用架构分析

    1. 架构概述 J2EE体系包括java server pages(JSP) ,java SERVLET, enterprise bean,WEB service等技术.这些技术的出现给电子商务时代的 ...

  8. python redis之连接池的原理

    python redis之连接池的原理 转载地址 什么是连接池 通常情况下, 当我们需要做redis操作时, 会创建一个连接, 并基于这个连接进行redis操作, 操作完成后, 释放连接, 一般情况下 ...

  9. LVS实现负载均衡原理及安装配置 负载均衡

    LVS实现负载均衡原理及安装配置 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F ...

  10. Django的MTV模型

    MTV模型 Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性. MTV框架是Django的框架,三部分为: Model Template(模板) View ...