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

  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. 使用filter方法过滤集合元素

    文章转自https://my.oschina.net/nenusoul/blog/658238 Problem 你想要筛选出集合中的一些元素形成一个新的集合,这些元素都是满足你的筛选条件的. Solu ...

  2. 辽宁OI2016夏令营模拟T2-road

    最短路(road.pas/c/cpp)题目大意有一个点数为 n,边数为 m 的无向图,点的编号为 1 到 n.边的权值均为非负数.现在请你求出从点 1 到点 n 的最短路径条数,若有无限条则输出-1, ...

  3. 【Apache KafKa系列之一】KafKa安装部署

    kafka是一种高吞吐量的分布式发布订阅消息系统,她有如下特性: 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能. 高吞吐量:即使是非常普通的 ...

  4. Spring Security(13)——session管理

    1.1     检测session超时 1.2     concurrency-control 1.3     session 固定攻击保护 Spring Security通过http元素下的子元素s ...

  5. hdu_5919_Sequence II(主席树)

    题目链接:hdu_5919_Sequence II 题意: 给你n个数,m个询问,每次问你一个区间中每一种数在区间中第一次出现的位置的中位数,强制在线. 题解: 一看就是主席树搞,不过这里要询问第一次 ...

  6. 解决VM安装VMTools后错误提示,实现文件共享

    在VM里给Red Hat 9.0安装VMTools后重启,在系统启动过程中出现三处提示,分别为:第一处:Mounting local filesystem: Error: Cannot mount f ...

  7. treeview自动从表中添加标题和列值做目录的方法2

    treeview自动从表中添加标题和列值做目录的方法2,该方法是借鉴万一老师的 http://www.cnblogs.com/del/archive/2008/05/15/1114450.html 首 ...

  8. 关于开启url的pathinfo模式

    1.apache要开启pathinfo模式,需要在 <Directory /> Options +Indexes +FollowSymLinks +ExecCGI AllowOverrid ...

  9. System 和 Runtime 类

    package day13; import java.util.Arrays; import java.util.Properties; public class Demo1 { /* 讲解syste ...

  10. Gentoo启动菜单设置:使用官方LiveDVD Grub主题

    设置Gentoo Grub启动主题 拷贝官方LiveDVD grub主题: 下载官方DVD,找到 /boot/grub/themes/GenGrub目录,并拷贝出来. 安装GenGrub主题: 将Ge ...