1.http 和 https 的区别
1.端口
HTTP的URL默认端口由"http://"起始且默认使用的端口为80
HTTPS的URL默认端口由"https://"起始且默认使用的端口为443
2.安全性与资源消耗
HTTP协议是运行在TCP之上的 , 所有的传输内容都是明文,客户端和服务器端都无法验证对方的身份
HTTPS 协议是运行在SSL/TLS之上的HTTP协议,SSL/TLS运行在TCP之上.所有的内容都是经过加密,加密采用对称加密,对称加密的密钥用服务器放的证书进行了非对称加密.
所以 HTTPS 消耗的资源比 HTTP 消耗的服务器资源更多
2.https用到了哪些加密技术
1.对称加密
密钥只有一个,加密解密使用同一个密钥,且加密解密速度快,典型的加密算法有DES,AES 等
2.非对称加密
密钥成对出现(且 根据 公钥无法推知私钥 , 根据 私钥也无法推知公钥),加密 解密 使用不同的密钥(公钥加密 ,需要私钥解密 ,私钥加密 需要公钥解密 ) .和对称加密相比 ,非对称加密速度较慢 ,典型的非对称加密算法有RSA,DSA
3.打开一个网页的过程
过程 |
---|
1.浏览器查找 域名的IP地址 (DNS查找 : 查找过程 浏览器缓存 -> 路由器缓存 -> DNS 缓存) |
2. 浏览器向web服务器发送一个http请求 |
3. 服务器处理请求 (请求处理,生成 HTML响应) |
4. 服务器发回一个HTML 响应 |
5.浏览器开始显示HTML |
4.TCP 四次挥手? time - wait ?
- 客户端发送一个FIN 用来关闭 客户端到 服务器 的数据传送 ,此后 客户端进入 FIN_WAIT_1 状态
- 服务器收到一个FIN后 进入close-wait 正常状态下会发送一个ACK给客户端,确认序号为收到序号+1
- 服务器发送一个FIN 用来关闭 服务器到客户端的数据传送 ,服务器进入LAST_AKC
- 客户端收到FIN后 ,客户端进入 time-wait 状态 ,接着发送一个ACK 给服务器 ,确认序号为收到序号+1,服务器进入close状态.完成四次挥手