6.9

230 阅读3分钟
1.HTTP常见的请求头和响应头
请求头
Accept:希望接收内容的数据类型
Accept-Encoding:希望接收内容的压缩编码
Accept-Language:希望接收内容的语言
User-Agent:浏览器信息
Origin:客户端域名
Cookie:用户的cookie
Content-Type:请求体的内容类型
Content-Length:请求体的字节长度
lf-None-Match:携带上次数据的etag
lf-Modified-Since.携带上次数据的最后更新时间
Connection:keep-alive保持TCP连接直到资源加载完毕
响应头
Content-lype:响应体的数据类型
Content-Encoding:响应体的压缩编码
Content-Language:响应体的语言
Server:服务端信息
Access-Control-Allow-Origin:允许哪些源的客户端跨域访问我
Set-Cookie:服务端给客户端写入的cookie
Content-Type:响应4的内容类型
Content-Length:响应体的字节长度
E-tag.数据指纹
Last-Modified:数据的最后更新时间
Connection:keep-alive保持TCP连接直到资源加载完毕
Host服务端域名
Dale.响应时间
Cache-Control:maxAge(3600)强缓时间
2.什么是HTTPS
 超文本传输安全协议 (Hypertext Transfer Protocol Secure,简称: HTTPS)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,利用SSL/TLS来加密数据包。HTTPS的主要目的是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。
 HTTP协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,而协议TLS/SSL具有身份验证、信息加密和完整性校验的功能,可以避免此类问题发生
安全层的主要职责就是对发起的HTTP请求的数据进行加密操作 和 对接收到的HTTP的内容进行解密操作
3.HTTP和HTTPS的区别
HTTPS是HTTP协议的安全版本,HTTP协议的数据传输是明文的,是不安全的,HTTPS使用了SSL/TLS协议进行了加密处理,相对更安全HTTP 
HTTPS 使用连接方式不同,默认端口也不一样,HTTP是80,HTTPS是443
HTTPS 由于需要设计加密以及多次握手,性能方面不如 HTTPHTTPS需要SSL
SSL 证书需要钱,功能越强大的证书费用越高
4.HTTPS握手
客户端向服务器发起请求,请求中包含使用的协议版本号、生成的一个随机数、以及客户端支持的加密方法
服务器端接收到请求后,确认双方使用的加密方法、并给出服务器的证书、以及一个服务器生成的随机数。
客户端确认服务器证书有效后,生成一个新的随机数,并使用数字证书中的公钥,加密这个随机数,然后发给服 务器。并且还会提供一个前面所有内容的 hash 的值,用来供服务器检验。
服务器使用自己的私钥,来解密客户端发送过来的随机数。并提供前面所有内容的 hash 值来供客户端检验
客户端和服务器端根据约定的加密方法使用前面的三个随机数,生成对话秘钥,以后的对话过程都使用这个秘钥来加密信息。