Http(HyperText Transfer Protocol) 超文本传输协议 Https(Hyper Text Transfer Protocol over Secure Socket Layer) http的安全版
一、https协议需要到ca申请证书,一般免费证书很少,需要交费。
二、http是[超文本传输协议] 信息是明文传输,https 则是具有安全性 的SSL加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的[网络协议],比http协议安全
##http返回码 1xx 服务端收到了客户端的请求,什么也不做 2xx 服务器正常响应 3xx 客户端需要进一步的操作才能完成请求; 4xx 客户端请求错误 5xx 服务端返回错误 常见状态码 : 200 请求成功 302重定向 304 访问缓存 404 资源不存在 503服务器无法处理当前请求 ##请求协议 常用请求协议是get post put delete header 其中get是获取数据,post用来提交表单 get可以缓存,post不能缓存 get没有post请求安全 get把请求参数放到url,post把请求参数放到body内 get和post最终都是通过TCP/IP协议进行网络请求的 ##三次握手,四次断开 syn 建立链接 ack响应 fin关闭连接
##缓存策略 http1.0 expires缓存标识,过期时间是服务器时间,由于跟服务端不一致,会有偏差 http 1.1 cache-control会有强制缓存和相对缓存,其中强制缓存字段有:private public no-cache no-store max-age s-maxage
Cache-Control响应头中常用字段的具体含义:
  (1)、max-age:用来设置资源(representations)可以被缓存多长时间,单位为秒;
  (2)、s-maxage:和max-age是一样的,不过它只针对代理服务器缓存而言;
  (3)、public:指示响应可被任何缓存区缓存;
  (4)、private:只能针对个人用户,而不能被代理服务器缓存;
  (5)、no-cache:强制客户端直接向服务器发送请求,也就是说每次请求都必须向服务器发送。服务器接收到请求,然后判断资源是否变更,是则返回新内容,否则返回304,未变更。这个很容易让人产生误解,使人误以为是响应不被缓存。实际上Cache-Control: no-cache是会被缓存的,只不过每次在向客户端(浏览器)提供响应数据时,缓存都要向服务器评估缓存响应的有效性。
  (6)、no-store:禁止一切缓存(这个才是响应不被缓存的意思)。
相对缓存有两种都是成对出现 Etag if_None_match和 last_modified if_modifed_since

##对称加密和非对称加密 http是对称加密, https是在http基础上通过SSL/TSL进行加密 https是通过非对称加密获取私钥,然后通过私钥进行对称加密
公钥和私钥 关于非对称加密和对称加密的思路; 客户端请求https链接,含有非对称加密协议,服务端返回使用的非对称加密算法及公钥; 客户端使用公钥对对称加密密钥进行加密,然后把加密过的密钥传递给服务器 服务器使用密钥解密后获取对称加密的密钥 后续使用对称加密的密钥进行通讯; ##断点续传 关键字 请求头 RANGE types=20000 RandomAccessFile