第5章 与HTTP协作的web服务器

一台服务器可以托管多个域名。

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

通信数据转发程序:

  1. 代理

    代理服务器的基本行为就是接受客户端的请求后转发给其他服务器,不会改变请求URI。

    使用代理服务器的理由:利用缓存技术减少带宽的流量、组织内部针对特定网站的访问控制、以获取访问日志为主要目的等。

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

    透明代理:转发请求或响应时,不会对报文进行处理和加工的代理类型被称为透明代理。反之,对报文进行修改的代理称为非透明代理。

  2. 网关

    利用网关可以将HTTP请求转化为其他协议通信。

    利用网关可以提高通信的安全性,因为可以在客户端和网关之间的通信上加密以确保连接的安全。

  3. 隧道

    隧道可按要求建立一条与其他服务器的通信,届时使用SSL等加密手段进行通信。隧道本身不会对HTTP进行解析。

缓存:代理服务器或者客户端保存的资源副本。利用缓存可以减少对源服务器的访问,节省了通信流量和时间。

    缓存的有效期:当判断缓存失效,缓存服务器或者客户端会再次从源服务器请求新的资源。

《图解 HTTP 》阅读 —— 第五章的更多相关文章

  1. C#图解教程 第二十五章 其他主题

    其他主题 概述字符串使用 StringBuilder类把字符串解析为数据值关于可空类型的更多内容 为可空类型赋值使用空接合运算符使用可空用户自定义类型 Main 方法文档注释 插入文档注释使用其他XM ...

  2. C#图解教程 第十五章 接口

    接口 什么是接口 使用IComparable接口的示例 声明接口实现接口 简单接口示例 接口是引用类型接口和as运算符实现多个接口实现具有重复成员的接口多个接口的引用派生成员作为实现显式接口成员实现 ...

  3. 《图解HTTP》阅读笔记-第五章-web服务器

      第五章.与HTTP协助的web服务器单台虚拟主机实现多个域名可以用单台物理主机运行多台虚拟主机,这些虚拟主机的IP相同,而虚拟主机有可以寄存多个不同主机名和域名的web网站,所以要保证发送HTTP ...

  4. 深入理解 C 指针阅读笔记 -- 第五章

    Chapter5.h #ifndef __CHAPTER_5_ #define __CHAPTER_5_ /*<深入理解C指针>学习笔记 -- 第五章*/ /*不应该改动的字符串就应该用 ...

  5. 《Interest Rate Risk Modeling》阅读笔记——第五章:久期向量模型

    目录 第五章:久期向量模型 思维导图 久期向量的推导 久期向量 广义久期向量 一些想法 第五章:久期向量模型 思维导图 久期向量的推导 \[ V_0 = \sum_{t=t_1}^{t_n} CF_t ...

  6. 精通Web Analytics 2.0 (7) 第五章:荣耀之钥:度量成功

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第五章:荣耀之钥:度量成功 我们的分析师常常得不到我们应得的喜欢,尊重和资金,因为我们没有充分地衡量一个黄金概念:成果.因为我们 ...

  7. 《java编程思想》读书笔记(一)开篇&第五章(1)

    2017 ---新篇章  今天终于找到阅读<java编程思想>这本书方法了,表示打开了一个新世界. 第一章:对象导论 内容不多但也有20页,主要是对整本书的一个概括.因为已经有过完整JAV ...

  8. 《Introduction to Tornado》中文翻译计划——第五章:异步Web服务

    http://www.pythoner.com/294.html 本文为<Introduction to Tornado>中文翻译,将在https://github.com/alioth3 ...

  9. 《Android群英传》读书笔记 (2) 第三章 控件架构与自定义控件详解 + 第四章 ListView使用技巧 + 第五章 Scroll分析

    第三章 Android控件架构与自定义控件详解 1.Android控件架构下图是UI界面架构图,每个Activity都有一个Window对象,通常是由PhoneWindow类来实现的.PhoneWin ...

随机推荐

  1. HttpClient使用小结

    使用HttpClient发送请求.接收响应很简单,只要如下几步即可. 1. 创建HttpClient对象. 2. 如果需要发送GET请求,创建HttpGet对象:如果需要发送POST请求,创建Http ...

  2. 树莓派 4G模块 PPP 拨号 NDIS 拨号

    资料参考:树莓派使用4G模块(华为ME909s-821)亲身尝试的可行方法(上)

  3. HashMap源码阅读与解析

    目录结构 导入语 HashMap构造方法 put()方法解析 addEntry()方法解析 get()方法解析 remove()解析 HashMap如何进行遍历 一.导入语 HashMap是我们最常见 ...

  4. oracle同义词语句备份

    --创建同义词create synonym T_SYSTEM_USERDEPARTMENT for xtzl.T_SYSTEM_USERDEPARTMENT;--查询同义词SELECT * FROM ...

  5. mysql事件关闭解决办法

    Mysql 事件event_scheduler是OFF 开启 Event Scheduler,以下4种方式等效 SET GLOBAL event_scheduler = ON; SET @@globa ...

  6. python实现用户登录问候

    创建一个至少包含 5个用户名的列表,且其中一个用户名为 'admin' .想象你要编写代码,在每位用户登录网站后都打印一条问候消息.遍历用户名列表,并向每位用户打印一条问候消息.添加一条 if 语句, ...

  7. linux 学习第十五天(vsftpd配置)

    一.vstapd配置 vsftpd 服务(a.匿名公开 b.系统本地账户验证c.虚拟专用用户验证) iptables -F  (清空防火墙) service iptables save  (保存防火墙 ...

  8. 为什么浏览器控制台返回不是undefined,而是一串数字

    setTimeout( (function(){console.log("ok")} )(), 16) 在浏览器控制台输入这段代码的时候返回的不是"undefined&q ...

  9. Mysql数据库报错1264

    数据库报错 [Err] 1264 - Out of range value adjusted for column 'ID' at row 1 修改MYSQL下的my.ini, 将 sql-mode= ...

  10. 03.搭建Spark集群(CentOS7+Spark2.1.1+Hadoop2.8.0)

    接上一篇:https://www.cnblogs.com/yjm0330/p/10077076.html 一.下载安装scala 1.官网下载 2.spar01和02都建立/opt/scala目录,解 ...