这本书重点讲了两点,分别是

  1. HTTP的报文格式
  2. HTTPS比HTTP优秀在哪里

接下来分部分讨论一下:

1. HTTP的报文格式

请求报文格式:

请求行     指明请求方法 请求路径 和协议   如 GET / HTTP1.1

通用首部  该部分是请求和响应报文共有的,一般是用来协商,以及位于请求和响应中间的代理服务器该如何运作

请求首部  描述了很多浏览器的信息,浏览器的语言,接收的编码等等

实体首部  该部分是请求和响应报文共有的 ,描述了后行后面内容的编码,是否压缩 等等

空行

内容

响应报文格式:

响应行     协议版本 状态码 状态吗含义  如 HTTP1.1 200 OK

通用首部

响应首部  描述了很多服务器软件的信息,如apache nginx 填写的信息

实体首部

空行

内容

2. HTTPS比HTTP优秀在哪里

  1. 采用了对称加密和非对称加密技术,这样即使被窃听,也不知道什么意思

  2. 采用了证书机制,防止了网站被伪造

  3. 采用了消息摘要,如MD5技术,这样如果报文被修改过,MD5值便会不匹配,这样你就知道被篡改了

原因

由于http采用明文传送,消息可被人截获,篡改后再发给你,比如修改loaction信息,让你的浏览器重定向到挂马网站;

或者修改网页内容,添加一些广告再回传给你,很多运营商小广告就是这么做的;

http在防止窃听和防止篡改防止伪造的能力都比较弱,https就是为了改进这三点而提出来的。

https的缺点:

https不仅加密了内容,连HTTP的报文首部也加密了,在这样的情况下,基于http1.1的单IP多域名变不能用了,因为host字段(http1.1新增字段)也是被加密的,不知道应该用哪个网站的私钥进行解密;即使用了https,单域名必须单IP,无法单IP多域名

3. 该书的其他内容

最开始讲了讲OSI七层模型

最后面讲了web安全

补充了一些应对xss和单击劫持的http首部字段  x-xss-protection 和x-frame;当然xss也可以使用htmlspecialchar来转义防止被嵌入js脚本

图解HTTP读书笔记--精简版的更多相关文章

  1. 图解http读书笔记

    以前对HTTP协议一知半解,一直不清楚前端需要对于HTTP了解到什么程度,知道接触的东西多了,对于性能优化.服务端的配合和学习中也渐渐了解到了HTTP基础的重要性,看了一些大神对HTTP书籍的推荐,也 ...

  2. PHP面试专用笔记精简版

    [PHP笔记] 1.require 遇到即包含文件,require_once 只包含一次.require 遇到错误会终止,一般放在程序的最前面:include遇到错误会继续执行,一般放在流程控制语句中 ...

  3. Git学习笔记-精简版

    注意本文参考廖雪博客: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 一:Git ...

  4. javascript的笔记精简版

    在写javascript的代码时一定要用单引号或者双引号括起来,不带引号的话就以字符串来处理 在javascript里面不能以纯数字或者click命名函数或者变量 要想修改标签的属性,在html里面怎 ...

  5. C#图解教程读书笔记(第1章 C#和.net框架)

    C#中的主要需要记住的基础概念 CLR公共语言运行库 CIL中间语言,所有的代码都会编译成中间语言. CLI公共语言基础结构 C#的优点 C#有自动垃圾回收机制

  6. C#图解教程读书笔记(第15章 委托)

    委托是C#的一个很重要的知识点. 1.什么是委托 委托在我认为,就是一系列格式相同的方法列表,可能就是定义的名称不一致,参数.返回值等都是一样的. 2.如何声明委托 delegate void MyF ...

  7. 《深入浅出设计模式》读书笔记 C#版(第一章)

    原始需求和设计 事情是这样开始的,公司需要做一套程序,鸭子,设计如下: 一个鸭子父类,多个派生类,三个可override的方法. 第一次需求变更 我们要会飞的鸭子!!!!! 所以我们做了如下的更改: ...

  8. 《TCP/IP图解》读书笔记

    看这本书的目的: 了解计算机之间是怎么通信的 熟悉TCP/IP协议 后面就这两个目的进行展开,要达到这两个目的,读这本书,学到了哪些知识. 一.计算机之间是怎么通信的 先来了解下面几个概念,中继器,二 ...

  9. C#图解教程读书笔记(第9章 语句)

    文件头的Using是Using指令,不是using语句 using (TextWriter tw = File.CreateText("xixi.txt")) { tw.Write ...

随机推荐

  1. AMD规范

    common.js主要语法就是 var math=require('math'); math.add(2,3); require()用于加载模块就行了. 二行math.add(2, 3),在第一行re ...

  2. 图的存储结构:邻接矩阵(邻接表)&链式前向星

    [概念]疏松图&稠密图: 疏松图指,点连接的边不多的图,反之(点连接的边多)则为稠密图. Tips:邻接矩阵与邻接表相比,疏松图多用邻接表,稠密图多用邻接矩阵. 邻接矩阵: 开一个二维数组gr ...

  3. jquery实现页面内部的内容切换

    html页面 .box-body-1-3 li{ margin: 20px; cursor: pointer;   //实现鼠标放在上面是小手状态 } 点击列表 <div class=" ...

  4. MC-设置 止盈

    using System; using System.Drawing; using System.Linq; using PowerLanguage.Function; using ATCenterP ...

  5. Openjudge-计算概论(A)-与7无关的数

    描述: 一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和. 输入输入为一行,正整数n( ...

  6. IO.Path路径

    string filePath =@"E:/Randy0528/中文目录/JustTest.rar"; 更改路径字符串的扩展名.System.IO.Path.ChangeExten ...

  7. HttpServletRequest对象(一)

    一:HttpServletRequest介绍: 代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中, 二:Request常用的方法 1):获得客户端信 ...

  8. iptables指令参考

    1.首先介绍一下指令和相关配置文件 启动指令:service iptables start 重启指令:service iptables restart 关闭指令:service iptables st ...

  9. Django 基础知识

    Django Models django 本身提供了非常强大易使用的ORM组件,并且支持多种数据库,如sqllite,mysql,progressSql,Oracle等,当然最常用的搭配还是mysql ...

  10. Thrift源码解析--transport

    这一层主要是用于实现网络通信,现在都是基于Tcp/Ip,而Tcp/Ip协议栈由socket来实现,换句话说就是现在网络通信服务底层大都是通过socket实现的,在thrift源码中,就是将socket ...