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

  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. 《JavaScript高级程序设计》读书笔记 ---Function 类型

    说起来ECMAScript 中什么最有意思,我想那莫过于函数了——而有意思的根源,则在于函数实际上是对象.每个函数都是Function 类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对 ...

  2. Linux学习 -- 常用命令

    目录处理命令 ls mkdir rmdir pwd cd cp mv rm 文件处理命令 touch cat tac more less head tail 连接命令 ln 软连接 ln -s 类似于 ...

  3. Linux之VI搜索相关命令

    /abc, 向前查询abc ?abc, 向后查询abc n, 向前继续查询 N, 向后继续查询 老是忘记,简单记录下

  4. 老司机的奇怪noip模拟T1-guanyu

    1. 关羽(guanyu.cpp/c/pas )[问题描述]xpp 每天研究天文学研究哲学,对于人生又有一些我们完全无法理解的思考.在某天无聊学术之后, xpp 打开了 http://web.sang ...

  5. Swift逃逸闭包之见解

    Swift 逃匿闭包顾名思义,就是闭包想要逃跑.当闭包作为参数传给一个方法时,在这个方法被调用完后闭包却还没有被执行,而是等到方法执行完后才调用 基本都是跨线程的时候才会有逃逸闭包这个说法.因为异步 ...

  6. UITableView简单使用

    在iOS开发中UITableView可以说是使用最广泛的控件,我们平时使用的软件中到处都可以看到它的影子,类似于微信.QQ.新浪微博等软件基本上随处都是UITableView.当然它的广泛使用自然离不 ...

  7. Effective JavaScript :第六章

    1.将undefined看成没有值 产生undefined的情况: ①未赋值的变量的初始值为undefined. var x ; X ; //undefined ②访问对象中不存在的属性也会产生und ...

  8. 关于百度地图API (持续跟新)

    一.初始化地图显示不在正中间,出现偏移 问题描述与解决办法: 代码: body, html, #allmap { width: 100%; height: 100%; overflow: hidden ...

  9. Django剖析

    $django-admin startproject mysite  创建一个django新工程 $python manage.py runserver 开启该服务器 $python manage.p ...

  10. AUTO_INCREMENT列在InnoDB里如何工作

    如果你为一个表指定AUTO_INCREMENT列,在数据词典里的InnoDB表句柄包含一个名为自动增长计数器的计数器,它被用在为该列赋新值.自动增长计数器仅被存储在主内存中,而不是存在磁盘上. Inn ...