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

一台Web服务器可搭建多个独立域名的Web网站,也可以作为通信路径上的中转服务器提升传输效率。

1.用单台虚拟机实现多个域名

  HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点。即使物理层面只有一台服务器,但只要使用虚拟主机,则可以假想已具有多台服务器。在相同IP地址下,由于虚拟主机可以寄存多个不同主机和域名的Web网站,因此发送HTTP请求时,必须在Host首部内完整指定主机名或域名的URI。

2.通信数据转发程序:代理、网关、隧道

  HTTP除了客户端和服务端之外,还有一些用于通信数据转发的应用程序,这些程序可以将请求转发给通信线路的下一站服务器,并且能接收对应的响应。

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

  

  代理服务器的基本行为就是接收客户端发送的请求后转发给其他服务器。代理不改变请求 URI,会直接发送给前方持有资源的目标服务器。每次通过代理服务器转发请求或响应时,会追加写入Via首部信息。

  分类:缓存代理、透明代理

  [缓存代理]:代理转发响应时,会预先将资源的副本保存在代理服务器上。

  [透明代理]:代理是不做任何处理。

  [为何使用代理服务器(优点)]利用缓存技术可以减少网络带宽流量,组织内部针对特定网站的访问控制,以获取访问日志为主要目的。

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

  利用网管可以将HTTP请求转换成其他协议通信利用网关可以提高通信的安全性,因为可以在客户端和网关之间的通信线路加密以确保连接的安全。例如,网关可以连接数据库,使用SQL语句查询数据,另外在Web购物网站上进行信用卡结算时,网管可以和信用卡结算系统联动。

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

  隧道可按要求建立起一条与其他服务器的通信线路,届时使用 SSL等加密手段进行通信。隧道的目的是确保客户端能与服务器进行安全的通信。隧道本身不会去解析(改变) HTTP 请求。

3. 保存资源的缓存

  缓存是指代理服务器或客户端本地磁盘保存的资源副本。通过缓存可以减少队员服务器的访问,节省通信流量和通信时间。

  缓存服务器是代理服务器的一种,归类在缓存代理类型中。换句话说,当代理转发从服务器返回的响应时,代理服务器将会保存一份资源的副本。

  缓存不仅能存在于缓存服务器中,还可以存在于客户端浏览器中,把客户端缓存称为临时网络文件。

第五章 与HTTP协作的Web服务器的更多相关文章

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

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

  2. Spring实战第五章学习笔记————构建Spring Web应用程序

    Spring实战第五章学习笔记----构建Spring Web应用程序 Spring MVC基于模型-视图-控制器(Model-View-Controller)模式实现,它能够构建像Spring框架那 ...

  3. 一篇文章带你了解轻量级Web服务器——Nginx简单入门

    一篇文章带你了解轻量级Web服务器--Nginx简单入门 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件代理服务器 在本篇中我们会简单介绍Nginx的特点,安装,相关指令使用以及配置信 ...

  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. 《Linux命令行与shell脚本编程大全》第二十五章 创建与数据库、web及电子邮件相关的脚本

    25.1 MySQL数据库 /* 但是我在虚拟机上安装的时候居然不提示输入密码. 这个可以参考http://blog.csdn.net/sinat_21302587/article/details/7 ...

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

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

随机推荐

  1. hive操作简单总结

    Hive DDL.DML操作 背景介绍 • 一.DDL操作(数据定义语言)包括:Create.Alter.Show.Drop等. • create database- 创建新数据库 • alter d ...

  2. HTML+CSS基础知识点简要汇总(思维导图)

  3. 使用ES6新特性async await进行异步处理

    我们往往在项目中会遇到这样的业务需求,就是首先先进行一个ajax请求,然后再进行下一个ajax请求,而下一个请求需要使用上一个请求得到的数据,请求少了还好说,如果多了,就要一层一层的嵌套,就好像有点c ...

  4. Mysql的旧版本下载地址

    直接进入:http://downloads.mysql.com/archives/community/

  5. PlayJava Day012

    今日所学: /* 2019.08.19开始学习,此为补档. */ JPanel和JFrame 1.JFrame是最底层,JPanel是置于其面上,同一个界面只有一个JFrame,一个JFrame可以放 ...

  6. [转]Workbook.SaveAs method (Excel) Password

    本文转自:https://docs.microsoft.com/en-us/office/vba/api/excel.workbook.saveas Saves changes to the work ...

  7. SAP 不支持交货单中同一个物料多个行项目HU与序列号组合发货场景

    SAP 不支持交货单中同一个物料多个行项目HU与序列号组合发货场景 笔者所在的项目里,后勤业务启用了序列号管理,Handling Unit Manager以及批次号管理.不同的物料分别启用序列号管理, ...

  8. Android ndk 加载简单的gif 图像

    首先获取一个安卓权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"> ...

  9. 【JDBC】CRUD操作

    JDBC的CRUD操作 向数据库中保存记录 修改数据库中的记录 删除数据库中的记录 查询数据库中的记录 保存代码的实现 package demo1; import java.sql.Connectio ...

  10. [a0003] <创作> 全局视图索引

    100篇博文再考虑 需求: 包含随笔.转载文章,能够容易区分