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

  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. HeartBeat源码安装

    只是写了安装流程,具体信息查看互联网; 环境: CentOS6.8 x86_64 min Heartbeat 3.0.6 http://hg.linux-ha.org/heartbeat-STABLE ...

  2. 《JavaScript高级程序设计》读书笔记 ---RegExp 类型

    ECMAScript 通过RegExp 类型来支持正则表达式.使用下面类似Perl 的语法,就可以创建一个正则表达式.var expression = / pattern / flags ; 其中的模 ...

  3. 10676 涂鸦跳跃(sort)

    10676 涂鸦跳跃 该题有题解 时间限制:1000MS  内存限制:65535K提交次数:240 通过次数:19 题型: 编程题   语言: G++;GCC Description 你玩过曾经风靡一 ...

  4. android自定义控件(理论知识学习 +自定义属性的讲解)

    View树和UI界面架构图   UI界面架构图: android视图最外层是一个window对象. phoneWindow来实现. phoneWindow将一个decorView作为整个布局的根vie ...

  5. awstats 日志分析

    /tmp/awstats/awstats.ezrydel.com.conf LogFile="/usr/local/apache/domlogs/ezrydel.com" php版 ...

  6. 火狐中,设置align="center"失效的解决方法

    如下: <img align="center" style="vertical-align:top"></img> 只需要加上: ver ...

  7. iOS-Runtime机制详解

    一.简介 runtime是一套底层的纯c语言的API,我们写的代码在程序运行过程中都会被转化成runtime的C代码执行,例如[target doSomething];会被转化成objc_msgSen ...

  8. navicat 连接远程mysql

    01putty中session---远程地址(程序访问的域名) ,端口22--load加载进来 02SSH--Auth-Tunnels(隧道)-- putty端口映射SSH--Auth-Tunnels ...

  9. 《Intel汇编第5版》 汇编减法程序

    第一步: 安装虚拟机32位XP系统 + RadAsm软件 第二步:    下载<Intel汇编语言程序设计第5版>中相关的源代码以及库文件           http://kipirvi ...

  10. Memcached 集群的高可用(HA)架构

    Memcache自身并没有实现集群功能,如果想用Memcahce实现集群需要借助第三方软件或者自己设计编程实现,这里将采用memagent代理实现,memagent又名magent,大家注意下,不要将 ...