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

  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. String.IsNullOrEmpty()和String.IsNullOrWhiteSpace()的区别

    string.IsNullOrEmpty 这个是判断字符串是否为:null或者string.Empty或者“”,但不包含空格 .如果是如"\t"或者“   ” 这样的字符就返回fa ...

  2. [妙味DOM]第五课:事件深入应用

    知识点总结 鼠标拖拽原理: 1.鼠标按下后开始移动,鼠标抬起停止移动,即onmousedown中要包括onmousemove和onmouseup 2.获取位置的计算:获取鼠标的当前位置-鼠标在物体中的 ...

  3. ORACLE 11g dblink 配置升级

    1.如果需要创建全局 DBLink,则需要先确定用户有创建 dblink 的权限: select * from user_sys_privs where privilege like upper('% ...

  4. 读书笔记之ado.net entity framework

    提供了对数据访问的一种抽象层,是更加易于以编程的方式来操作及管理数据 有以下几种模式:Model First, Database First, and Code First 现在主要讨论code Fi ...

  5. 遍历(二)javascript的Foreach语法

    原文:http://www.cnblogs.com/Fskjb/archive/2011/03/26/1996165.html 首先,虽然叫foreach语法但关键字还是用for哦,这个语法只是对平时 ...

  6. hdu_5874_Friends and Enemies(公式题)

    题目链接:hdu_5874_Friends and Enemies 题意: 有nn个人, mm种颜色的石头, 人两两之间要么是朋友, 要么是敌人. 每个人可以携带若干种石头或者不带, 要求朋友之间至少 ...

  7. Traffic Ccontrol(流量控制)

    linux有一个成熟的带宽供给系统,称为Traffic Control(流量控制).这个系统支持各种方式进行分类.排序.共享和限制出入流量. 一.基础知识 让ip显示我们的链路 ip link  li ...

  8. JSP中的EL语言

    1,EL(Expression Language)是从JavaScript得到启发的一种表达式语言, 2,EL表达式包含文字,操作符,变量,函数调用: 3,EL 存取变量的语法格式:${ userna ...

  9. adoquery查询语句sql动态查询删除方法

    百度文库链接地址:http://wenku.baidu.com/link?url=uVzbjjaHIziYuproREP_hO7MTLMf2g998QTKN4oLMeko5D7k0vSlTMFaby2 ...

  10. Hanoi汉诺塔问题——递归与函数自调用算法

    题目描述 Description 有N个圆盘,依半径大小(半径都不同),自下而上套在A柱上,每次只允许移动最上面一个盘子到另外的柱子上去(除A柱外,还有B柱和C柱,开始时这两个柱子上无盘子),但绝不允 ...