网络-HTTP和HTTPS

网络-HTTP和HTTPS_第1张图片
知识目录.png

HTTP:

超文本传输协议

  • 请求/响应报文
  • 连接建立流程
  • HTTP的特点

1.请求/响应报文

网络-HTTP和HTTPS_第2张图片
请求报文.png
网络-HTTP和HTTPS_第3张图片
响应报文.png
HTTP请求方式:

GET、POST、HEAD、PUT、DELETE、OPTIONS

GET和POST的区别:

初级答案:
GET请求参数以?分割拼接到URL后面,POST请求参数在Body里面
GET参数长度限制在2048个字符,POST一般没有该限制
GET请求不安全,POST请求比较安全

标准答案:

网络-HTTP和HTTPS_第4张图片
GET和POST的区别.png
安全性:不应该引起server端的任何状态变化。例如GET、HEAD、OPTIONS请求方式

幂等性:同一个请求方法执行多次和执行一次的效果完全相同。例如PUT、DELETE、GET请求方式

可缓存性:请求是否可以被缓存。例如GET、HEAD请求
都了解哪些状态码,他们的含义是?

1开头:
2开头:200响应成功
3开头:301、302发生了网络重定向
4开头:401、404客户端发起的请求有问题
5开头:501、502server端有问题

2.HTTP连接建立流程

网络-HTTP和HTTPS_第5张图片
屏幕快照 2018-05-11 14.48.40.png

3.HTTP的特点

  • 无连接
    可以使用HTTP的持久连接来弥补
  • 无状态
    可以使用Cookie/Session来弥补
持久连接
网络-HTTP和HTTPS_第6张图片
持久连接和非持久连接.png

头部字段:

  • Connection:keep-alive;
    客户端期许采用持久连接
  • time:20
    持续连接持续多长时间有效
  • max:10
    这条连接最多可以发生多少个HTTP请求和响应对
怎样判断持久连接中一个请求是否结束?
  • Content-length:1024
  • chunked:最后会有一个空的chunked
Charles抓包原理:

利用了HTTP请求的中间人攻击漏洞实现的


网络-HTTP和HTTPS_第7张图片
中间人攻击.png


HTTP和HTTPS有什么区别?
网络-HTTP和HTTPS_第8张图片
屏幕快照 2018-05-11 15.08.28.png

IP层就是网络层,TCP是传输层,HTTP属于应用层,SSL/TLS是位于应用层之下、传输层之上。

HTTPS连接建立流程是怎样的?

网络-HTTP和HTTPS_第9张图片
屏幕快照 2018-05-11 15.23.26.png

会话秘钥(相当于非对称加密中的最终秘钥):
等于 随机数random s + 随机数random c + 预主秘钥生成

网络-HTTP和HTTPS_第10张图片
屏幕快照 2018-05-11 15.27.32.png
非对称加密:
网络-HTTP和HTTPS_第11张图片
非对称加密.png

加密和解密使用的不一样

对称加密:
网络-HTTP和HTTPS_第12张图片
对称加密.png

你可能感兴趣的:(网络-HTTP和HTTPS)