「 图解HTTP 」 读书笔记 第五章

与 HTTP 协作的 Web 服务器

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

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

  • HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站点,比如提供 Web(Web Hosting Service)托管服务的供应商,可以用一台服务器为多位客户服务,也可以以每位客户持有的域名运行各自不同的网站。这是因为利用了虚拟主机(Virtual Host,又称虚拟服务器)的功能

  • 即使物理层面只有一台服务器,但只要使用虚拟主机的功能,则可以假象已具有多台服务器

    虚拟主机.png
    • 客户端使用 HTTP 协议访问服务器时,会经常采用类似 www.hackr.jp 这样的主机名和域名

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

  • 如果一台服务器托管了 www.tircoder.jpwww.hackr.jp 这两个域名,当收到请求时就需要弄清楚究竟访问那个域名

    一台服务器托管多个域名.png
    • 在相同的 IP 地址下,由于虚拟主机可以寄存多个不同主机名和域名的 Web 网站,因此在发送 HTTP 请求时,必须在 Host 首部内完整指定主机名或域名的 URI

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

  • 代理

    代理是一种有转发功能的应用程序,接受由客户端发送的请求并转发给服务器,同时也接受服务器返回的响应并转发给客户端

  • 网管

    网管是转发其他服务器通信数据的服务器,接受从客户端发送来的请求时,它就像自己拥有资源的源服务器一样对请求处理

  • 隧道

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

  • 1. 代理

    代理.png

    代理服务器的基本行为就是接受客户端发送的请求后转发给其他服务器,代理不改变请求 URI,会直接发送给前方持有资源的目标服务器

    持有资源实体的服务器被称为源服务器,从源服务器返回的响应经过代理服务器再回传给客户端

    源服务器.png

    在 HTTP 通信过程中,可级联多台代理服务器。请求和响应会经过多台类似锁链一样连接起来的代理服务器。转发时,需要附加 Via 首部字段以标记出现过的主机信息

    使用代理服务器的优点:

    • 利用缓存技术减少网络带宽的流量

    • 组织内部针对特定网站的访问控制

    • 以获取访问日子为主要目的

    • ...等等

    代理分类

    • 是否使用缓存

    • 是否会修改报文

  • 缓存代理

    代理转发响应时,缓存代理(Caching Proxy)会预先将资源的副本保存到代理服务器上

    当代理再次接受到对相同资源的请求时,就可以不从源服务器获取资源,而是将之前缓存的资源作为响应返回

  • 透明代理

    转发请求或响应时,不对报文做任何加工的代理类型被称为透明代理(Transparent Proxy)。对报文内容进行加工的代理称为非透明代理

  • 2. 网关

    网关.png

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

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

  • 利用网关能够提高通信的安全性,因为可以在客户端和网关直接的通信线路上加密以确保连接的安全

  • 3. 隧道

    隧道.png

    通过隧道的传输,可以和远距离的服务器安全通信。隧道本身是透明的,客户端不用在意隧道的存在

  • 隧道可按要求建立一条与其他服务器的通信线路,届时使用 SSL 等加密手段进行通信

  • 隧道的目的是确保客户端与服务器进行安全的通信

  • 隧道本身不会去解析 HTTP 请求,也就是说,请求保持原样中转给之后的服务器。隧道会在通信双方断开连接时结束

3. 保存资源的缓存

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

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

    缓存服务器.png

    缓存服务器的优势在于利用缓存可避免多次从服务器转发资源

  • 缓存的有效期限

    缓存有效期.png

    即便缓存服务器有缓存,也不能保证每次都返回对同资源的请求。这关系到被缓存资源的有效性问题

    即使存在缓存,也会因为客户端的要求,缓存的有效期等因素,向源服务器确认资源的有效性。如果缓存失效,缓存服务器会再次从源服务器获取新的资源

  • 客户端的缓存

    客户端缓存.png

    缓存不仅可以存在缓存服务器内,还可以存在客户端浏览器中

    浏览器缓存如果有效,就不必再向服务器请求相同的资源了,可以直接从本地磁盘内获取

    缓存过期后,会向源服务器确认资源的有效性。如果浏览器缓存失效,浏览器会再次请求资源

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容