http面试
HTTP响应码
- Informational
- 2xx Success
- 3xx Redirection
- 4xx Client Error
- 5xx Server Error
HTTP/1.1
-
新增
PUT/PATCH/OPTIONS/DELETE
方法 -
默认长连接,关闭tcp链接需要在请求头设置
Connection: close
-
pipeline:
-
配合长连接
-
客户端可以发送多个请求,而不是等第一个响应返回后才发第二个请求
- 注意这里的请求还是按顺序发送,而且得按顺序返回。
- 如果其中有个响应卡住,其后的响应也会卡住。
- 响应头使用
Content-Length
来标识每个响应长度。
-
HTTPS
http + ssl/tls加密
- ssl: secure socket layer,ssl 3.0 -> tls 1.0
- ssl/tls采用非对称加密,且第一个的公钥的可信度由CA来保证
- 为了提高效率,实际的消息传输使用的是对称加密。而交换对称密钥的过程是非对称加密的。
过程总结
- 服务器和客户端交换密钥
- 客户端向服务发送自己的公钥pub_c
- 服务器向客户端返回CA的证书
- 客户端验证证书并获取服务器的公钥pub_s
- 双方使用pub_c和pub_s交换对称密钥key
- 服务器和客户端使用key来对消息进行加密
公钥:对外公开
私钥:对外不公开
加密:可以视为写入的权限
解密:可以视为读取的权限
使用公钥加密(写),私钥解密(读)是一般的消息传输
使用公钥解密(读),私钥加密(写)是证书签名:只读