【笔记】【HTTP】《图解HTTP》第5章 与HTTP协做的Web服务器

news2024/12/23 9:24:36

前言

  • 有输入就要有产出,该笔记是本人看完《图解HTTP》后对每章涉及到的知识进行汇总
  • 博客将会已书的每章为一篇发布,下一篇博客发布时间不确定
  • 笔记中有些个人理解后整理的笔记,可能有所偏差,也恳请读者帮忙指出,谢谢。

免责声明

  • 本博客是本人在学习《图解 HTTP》后整理的笔记,旨在方便复习和回顾,并非用作商业用途。
  • 为了方便,博客有些图与书中的图一致,因此没有自行截图,而是采取引用他人博客图片地址,感谢这些博主提供的图床。
  • 此笔记用于记录本人对于该知识的汇总。以方便日后的工作与学习。
  • 内容与原书不完整,请读者结合原书观看
  • 如有侵权请告知,马上删除。

第5章 与HTTP协做的Web服务器

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

1. 虚拟主机

  • 物理层面只有一台服务器,使用虚拟主机的功能,可以假象已具有多台服务器。
  • 可以用一台服务器为多位客户服务。
  • 可以以每位客户持有的域名运行各自不同的网站。
    • 【因为】可以寄存多个不同主机名或域名的Web网站。
    • 【所以】在发送HTTP请求时,必须在Host首部内完整指定主机名或域名的URI

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

  • 通信数据转发程序功能:
    1. 请求转发给通信链路上的下一站服务器
    2. 接受从那台服务器发送的响应再转发给客户端

1. 代理

  • 一种有转发功能应用程序。(服务器和浏览器的“中间人”)

  • 功能:

    1. 接受由客户端发送的请求并转发给服务器。
    2. 接受服务返回的响应并转发给客户端。
  • 不改变请求 URI, 会直接发送给前方持有资源的目标服务器。

    • 代理服务器:
    • 基本行为:接收客户端发送的请求后转发给其他服务器。
    • 在HTTP通信过程中,可级联多台代理服务器
      • 请求和响应的转发会经过数台类似链锁一样连接起来的代理服务器。
        • 转发时,需要附加Via首部字段标记出经过的主机信息
    • 使用理由:
      1. 利用缓存技术减少网络带宽的流量
      2. 组织内部针对特定网站的访问控制
      3. 以获取访问日志为主页目的,等等。
    • 源服务器:
    • 持有资源实体的服务器。
  • 代理方法:

    • 缓存代理
      • 代理转发响应时,会预先将资源的副本(缓存)保存在代理服务器上。
      • 当代理再次接受到相同资源的请求时,就可以不从源服务器那里获取资源,而是将之前缓存的资源作为响应返回。
    • 透明代理
      • 转发请求或响应时,不对报文做任何加工的代理。
      • 非透明代理对报文进行加工处理的代理。

2. 网关

  • 转发其他服务器通信数据的服务器

    • 接受从客户端发来的请求时,就像自己拥有资源的源服务器一样对请求进行处理。
  • 工作机制与代理相似

  • 能使通信线路上的服务器提供非HTTP协议服务

  • 好处:提高通信的安全性

    【解释】

    • 可以在客户端与网关之间的通信链路上加密以确保连接的安全。

3. 隧道

  • 相隔甚远的客户端和服务器两者之间进行中转, 并保持双方通信连接的应用程序
  • 可以按要求建立起一条与其他服务器的通信线路。
  • 使用SSL等加密手段进行通信
  • 目的:确保客户端能与服务器安全通信。
  • 隧道本身不会去解析HTTP请求。(即保持原样中转给之后的服务器)
  • 隧道会在通信双方断开连接时结束。

5.3 保存资源的缓存

1. 缓存

  • 代理服务器或客户端本地磁盘内保存的资源副本。

  • 好处:

    1. 减少对源服务器的访问。
    2. 节省通信流量和通信时间。

    • 缓存服务器:
      • 代理服务器的一种,并归类在缓存代理类型中。(即待代理转发从服务器返回响应时,代理服务器将会保存一份资源副本。)
      • 优势:利用缓存可避免多次从服务器转发资源。
  • 缓存是有有效期限的

    • 【原因】
      • 当遇上源服务器上的资源更新时, 如果还是使用不变的缓存, 那就会演变成返回更新前的“旧”资源了。
  • 客户端也有缓存(即临时网络文件

    • 缓存不仅可以存在于缓存服务器内, 还可以存在客户端浏览器中。
    • 浏览器缓存如果有效,就不必再向服务器请求相同的资源了,可以直接从本地磁盘内读取
    • 当判定缓存过期后,会向源服务器确认资源的有效性。
      • 若判断浏览器缓存失效,浏览器会再次请求新资源

2. HTTP协议之前的协议(了解即可)

  • 协议名用途
    FTP(File Transfer Protocol)传输文件时使用的协议。
    NNTP(Network News Transfer Protocol)用于 NetNews 电子会议室内传送消息的协议。
    Archie搜索 anonymous FTP 公开的文件信息的协议。
    WAIS(Wide Area Information Servers)关键词检索多个数据库使用的协议。
    Gopher查找与互联网连接的计算机内信息的协议。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/504959.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信号signal编程测试

信号会打断系统调用,慎用,就是用的时候测一测。 下面是信号的基础测试 信号 信号(signal)机制是UNIX系统中最为古老的进程之间的通信机制。它用于在一个或多个进程之间传递异步信号。信号可以由各种异步事件产生,例如…

数据结构与算法1:引入概念

接下来系统的学一下数据结构与算法的知识,本章节是第一部分:数据结构与算法的进入与基本概述 第一章:引入概念 【铁打的算法demo】先来看到题: 如果 a b c 1000,且 a2 b2 c2(a, b , c 为⾃然数&…

快进来,带你了解FPGA基础知识---lattice莱迪斯深力科MachXO2 FPGA系列简介

FPGA基础知识---lattice莱迪斯深力科MachXO2 LCMXO2-4000HC-4TG144I FPGA简介 FPGA基础知识:FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它…

《程序员面试金典(第6版)》面试题 16.17. 连续数列(贪心算法思想,动态规划算法思想,C++)

题目描述 给定一个整数数组,找出总和最大的连续数列,并返回总和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶: 如果你已经实…

elementUI tabs切换 echarts宽度挤压到一起 由100%变成100px

被压缩的图表&#xff1a; 正常显示 <el-tabs v-model"activeName" type"card" tab-click"handleClick"><el-tab-pane name"first"></el-tab-pane><el-tab-pane name"second" label"未达成原因…

如何在Kali Linux中获得root权限?

根用户名或账户在Linux或任何其他类似Unix的操作系统中拥有所有可用命令和文件的默认权限。它也被称为超级用户、根账户和根用户。用户名&#xff1a;"kali "是登录新Kali系统的标准凭证。这建立了一个用户 "kali "的会话&#xff0c;你必须在 "Sudo …

Java—JDK8新特性—方法引用【内含思维导图】

目录 4.方法引用 思维导图 4.1 什么是方法引用 4.2 为什么要使用方法引用 4.3 方法引用语法 4.4 方法引用的5种情况使用示例 4.方法引用 思维导图 4.1 什么是方法引用 方法引用就是Lambda表达式&#xff0c;也就是函数式接口的一个实例&#xff0c;通过方法的名称来指向一…

Word怎么分页,提高效率就靠这3种方法!

案例&#xff1a;Word怎么分页 【文档要进行分页处理&#xff0c;但是我尝试了好多次还是不行&#xff01;大家知道Word怎么分页吗&#xff1f;】 在使用Microsoft Word处理文档时&#xff0c;我们常常需要进行分页操作。Word的分页功能可以将文档分成多个页面&#xff0c;以…

【Vue3 插件篇】GSAP 动画库与 图片预览插件

GSAP 动画库 GSAP&#xff08;GreenSock Animation Platform&#xff09;是一个专业的动画库&#xff0c;可以用它完成你想要的各种效果 官网地址&#xff1a;https://greensock.com/ 参考文章一&#xff1a;https://www.jianshu.com/p/a8e150f0e569 参考文章二&#xff1a…

利用MQ事务消息实现分布式事务

MQ事务消息使用场景 消息队列中的“事务”&#xff0c;主要解决的是消息生产者和消息消费者的数据一致性问题。 拿我们熟悉的电商来举个例子。一般来说&#xff0c;用户在电商 APP 上购物时&#xff0c;先把商品加到购物车里&#xff0c;然后几件商品一起下单&#xff0c;最后…

为游客提供完美旅程:携程集团携手亚马逊云科技联合创新

刚刚过去的“五一”假期&#xff0c;旅游行业展现出了强劲的复苏势头。经文化和旅游部数据中心测算&#xff0c;全国国内旅游出游合计2.74亿人次&#xff0c;同比增长70.83%。 然而&#xff0c;出行前的航班高铁订票、酒店商旅预订、出游行程安排&#xff0c;就已经让不少家庭为…

C++linux高并发服务器项目实践 day9

Clinux高并发服务器项目实践 day9 信号集信号集相关函数以下信号集相关的函数都是对自定义的信号集进行操作sighandler_t函数sigaction函数 SIGCHLD信号共享内存共享内存使用步骤共享内存操作函数 信号集 许多信号相关的系统调用都需要能表示一组不同的信号&#xff0c;多个信…

深度思考:在 AI 时代,你会被放大一千倍的能力是什么?

Datawhale干货 作者&#xff1a;艾芙&#xff0c;复旦大学&#xff0c;百姓AI教育负责人 前言 大家晚上好&#xff0c;我是艾芙&#xff0c;百姓 AI 的 AI 教育负责人。 先做一下自我介绍&#xff0c;我是一个在技术圈和教育圈反复横跳的斜杠中年了。大约在 5 年前&#xff0c…

C++格式输入输出

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;数据结构 &#x1f525;座右铭&#xff1a;“不要等到什么都没…

常用的数据中心部署架构

说起数据中心&#xff0c;相信大家并不陌生。随着互联网行业的蓬勃发展&#xff0c;大数据时代的快速到来&#xff0c;数据中心同我们的生活紧密联系&#xff0c;息息相关。我们日常生活中的各种数据几乎都存储在数据中心里&#xff0c;例如&#xff1a;手机照片的云端备份、放…

Python小姿势 - # Python相关技术知识点

Python相关技术知识点 标题 在Python中如何处理文件 如果你要处理文件&#xff0c;那么在Python中你需要使用到os模块中的一些方法。 首先&#xff0c;你需要使用os.path.exists方法来判断文件是否存在&#xff1a; python if os.path.exists(file.txt): print(文件存在) else:…

asp.net企业员工考勤管理系统

企业员工管理系统主要是为企业内部管理员工使用的&#xff0c;主要功能分为员工和管理员两部分&#xff0c;主要的功能有用户登录&#xff0c;管理员信息管理&#xff0c;公告信息管理&#xff0c;文件审批管理&#xff0c;员工信息管理&#xff0c;工资信息管理&#xff0c;奖…

全景丨0基础学习VR全景制作,平台篇第19章:热点功能-文本

大家好&#xff0c;欢迎观看蛙色VR官方——后台使用系列课程&#xff01; 功能说明 应用场景 热点&#xff0c;指在全景作品中添加各种类型图标的按钮&#xff0c;引导用户通过按钮产生更多的交互&#xff0c;增加用户的多元化体验。 文本热点&#xff0c;即点击热点后会弹出…

一顿饭的事儿,搞懂了Linux5种IO模型

大家好&#xff0c;我是老三&#xff0c;人生有三大难题&#xff0c;事业、爱情&#xff0c;和 ——这顿吃什么&#xff01; 人在家中躺&#xff0c;肚子饿得响&#xff0c;又到了不得不吃的时候&#xff0c;这顿饭该怎么吃&#xff1f;吃什么呢&#xff1f; Linux里有五种I…

【笔记】【HTTP】《图解HTTP》第1章 了解Web及网络基础

前言 有输入就要有产出&#xff0c;该笔记是本人看完《图解HTTP》后对每章涉及到的知识进行汇总博客将会已书的每章为一篇发布&#xff0c;下一篇博客发布时间不确定笔记中有些个人理解后整理的笔记&#xff0c;可能有所偏差&#xff0c;也恳请读者帮忙指出&#xff0c;谢谢。…