图解HTTP读书笔记--精简版
这本书重点讲了两点,分别是
- HTTP的报文格式
- 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脚本