概述

最近对http很感兴趣,于是开始看《http权威指南》。别人都说这本书有点老了,而且内容太多。我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做,还告诉你为什么这么做。于是我把学到的知识点记录下来,供以后开发时参考,相信对其他人也有用。

代理

1.使用代理的示例

  • 儿童过滤器:阻止学生访问成人内容。
  • 文档访问控制:不同的客户端访问内容有不同的权限。
  • 安全防火墙:详细地检查流量。
  • web缓存。
  • 反向代理:假扮服务器,为了提高性能,比如服务器加速器。
  • 内容路由器:根据内容类型将请求导向特定的web服务器。
  • 转码器:在将内容发送给客户端之前,修改内容弄的主体格式。
  • 匿名者:从http报文中删除身份特性,比如客户端ip地址,referer首部,cookie等。

2.代理服务器的部署

  • 出口代理:控制本地与大型因特网之间的流量。
  • 入口代理:缓存代理等。
  • 反向代理:部署在web服务器之前,会冒用web服务器的名字和ip地址,这样所有的请求就会被发送给代理而不是服务器了。
  • 网络交换代理:对流量进行监控等。

3.怎样使客户端流量流向代理

  • 修改客户端,比如chrome里面添加代理的设置。
  • 修改网络,依赖于http流量的交换设备或路由设备,在客户端不知情的情况下,对流量进行拦截,并将流量导入一个代理。
  • 修改DNS的命名空间,用特殊的动态DNS服务器根据需要来确定适当的代理或服务器。
  • 修改web服务器配置,向客户端发送一条http重定向命令,将客户端请求重定向到一个代理上。

4.代理URI和服务器URI的不同:

  • 显式的代理要求在请求报文中使用完整的URI;虚拟web服务器要求使用Host首部来承载主机和端口信息。
  • 没有设置代理时,它会发送部分URI。

5.反向代理和拦截代理都可以处理部分URI请求

6.via首部字段列出了与报文途径的每个中间节点有关的信息,报文每经过一个节点,都必须将这个中间节点添加到via列表的末尾。via首部可以用来诊断报文循环。

7.Server首部是用于原始服务器的,而代理添加的是via首部。

8.代理服务器可以在转发报文时对其进行修改,可以添加,修改或删除首部,也可以将主体部分转换成不同的格式。通过http/1.1的trace方法,用户可以跟踪经代理链传输的请求报文,观察报文经过了哪些代理,以及每个代理是如何对请求报文进行修改的。

9.通过http options方法,客户端可以发现web服务器或者其上某个特定资源所支持的功能,发现服务器对可选特性的支持。

10.Allow首部字段列出了请求URI标识的资源所支持的方法列表,如果请求URI为*的话,列出的就是整个服务器所支持的方法列表。

《http权威指南》读书笔记6的更多相关文章

  1. 《Linux/Unix系统编程手册》读书笔记 目录

    <Linux/Unix系统编程手册>读书笔记1  (创建于4月3日,最后更新4月7日) <Linux/Unix系统编程手册>读书笔记2  (创建于4月9日,最后更新4月10日) ...

  2. 《Linux/Unix系统编程手册》读书笔记9(文件属性)

    <Linux/Unix系统编程手册>读书笔记 目录 在Linux里,万物皆文件.所以文件系统在Linux系统占有重要的地位.本文主要介绍的是文件的属性,只是稍微提及一下文件系统,日后如果有 ...

  3. 《Linux/Unix系统编程手册》读书笔记8 (文件I/O缓冲)

    <Linux/Unix系统编程手册>读书笔记 目录 第13章 这章主要将了关于文件I/O的缓冲. 系统I/O调用(即内核)和C语言标准库I/O函数(即stdio函数)在对磁盘进行操作的时候 ...

  4. 《Linux/Unix系统编程手册》读书笔记7 (/proc文件的简介和运用)

    <Linux/Unix系统编程手册>读书笔记 目录 第11章 这章主要讲了关于Linux和UNIX的系统资源的限制. 关于限制都存在一个最小值,这些最小值为<limits.h> ...

  5. 《Linux/Unix系统编程手册》读书笔记6

    <Linux/Unix系统编程手册>读书笔记 目录 第9章 这章主要讲了一堆关于进程的ID.实际用户(组)ID.有效用户(组)ID.保存设置用户(组)ID.文件系统用户(组)ID.和辅助组 ...

  6. 《Linux/Unix系统编程手册》读书笔记5

    <Linux/Unix系统编程手册>读书笔记 目录 第8章 本章讲了用户和组,还有记录用户的密码文件/etc/passwd,shadow密码文件/etc/shadow还有组文件/etc/g ...

  7. 《Linux/Unix系统编程手册》读书笔记4

    <Linux/Unix系统编程手册>读书笔记 目录 第7章: 内存分配 通过增加堆的大小分配内存,通过提升program break位置的高度来分配内存. 基本学过C语言的都用过mallo ...

  8. 《Linux/Unix系统编程手册》读书笔记3

    <Linux/Unix系统编程手册>读书笔记 目录 第6章 这章讲进程.虚拟内存和环境变量等. 进程是一个可执行程序的实例.一个程序可以创建很多进程. 进程是由内核定义的抽象实体,内核为此 ...

  9. 《Linux/Unix系统编程手册》读书笔记1

    <Linux/Unix系统编程手册>读书笔记 目录 最近这一个月在看<Linux/Unix系统编程手册>,在学习关于Linux的系统编程.之前学习Linux的时候就打算写关于L ...

  10. 《Linux/Unix系统编程手册》读书笔记2

    <Linux/Unix系统编程手册>读书笔记 目录 第5章: 主要介绍了文件I/O更深入的一些内容. 原子操作,将一个系统调用所要完成的所有动作作为一个不可中断的操作,一次性执行:这样可以 ...

随机推荐

  1. 初始js闭包&事件的冒泡和捕获&EVENT对象

    一.初识闭包 function a(){   var n = 0;   this.inc = function () {     n++;     console.log(n);   }; } var ...

  2. python中的继承和多态

    继承 继承的表现方式: class Animal(): pass class Cat(Animal): #animal是cat的父类,也可以说是基类 pass print(Cat.__bases__) ...

  3. js中的回调函数 和promise解决异步操作中的回调地狱问题。

    回调函数 : 函数作为参数传递到另外一个函数中.简单数据类型和引入数据类型中的数组和对象作为参数传递大家肯定都不陌生,其实引用数据类型中的函数也是可以的. 事实上大家见到的很多,用到的也很多,比如jQ ...

  4. jmeter手写脚本,使用正则获取cookie(禁用cookies管理器)

    注:这里以bugfree为例 1.bugfree登录时会有重定向,这会导致每个URL都会有.因此要手动获取cookie的时候,需要去掉重定向勾选 正则获取动态PHPsession 获取到值后,放到信息 ...

  5. Windows PowerShell基本语法及常用命令

    PowerShell常用命令: 一 Get类 1.Get-Command : 得到所有PowerShell命令,获取有关 cmdlet 以及有关 Windows PowerShell 命令的其他元素的 ...

  6. [树上倍增+二分答案][NOIP2012]运输计划

    题目背景 公元 2044 年,人类进入了宇宙纪元. 题目描述 公元 2044 年,人类进入了宇宙纪元 L 国有 nn 个星球,还有 n-1n−1 条双向航道,每条航道建立在两个星球之间,这 n-1n− ...

  7. spring.boot 无法加载oracle驱动的可能原因

    .找到本地oracle安装目录下的ojdbc6.jar包,为了方便起见,复制到某盘的根目录(如F盘根目录),在cmd下进入F盘根目录(也就是ojdbc.jar复制的目录),同时我们需要查看ojdbc的 ...

  8. MySQL 1053错误 服务无法正常启动的解决方法

    MySQL 1053错误 服务无法正常启动的解决方法 1.右键我的电脑,管理,进入服务 2.右键单击Mysql8 属性,选择登陆  选择此账号  登陆管理员账号

  9. ssh 免密登录阿里云主机

    在网上找了好几篇教程,都不好使. 终于在这篇找到了答案 解决方案: 在 sshd_config 里面将这一项: AuthorizedKeysFile .ssh/authorized_keys 被我修改 ...

  10. 受限filterbanks

    2.Related works to filterbank learning 虽然DNN-HMM模型的性能比GMM-HMM模型相比,具有很大的优势,但是训练集和测试集之间的失配问题,也使得DNN-HM ...