网络相关总结

一、什么是http?https?

  • HTTP 是浏览器与服务器之间以明文的方式传送内容的一种互联网通信协议。
  • HTTPS是在HTTP的基础上主要基于SPDF协议结合SSL/TLS加密协议,客户端依靠证书验证服务器身份传递加密信息的通信协议。

二、http各版本区别

  • HTTP/0.9:

    • 仅支持GET请求,不支持请求头
  • HTTP/1.0 :

    • 默认短连接(一次请求建议一次TCP连接,请求完就断开)。
    • 支持GET、POST、 HEAD请求。
  • HTTP/1.1 :

    • 默认长连接(一次TCP连接多次请求,支持PUT、DELETE、PATCH等六种请求,
    • 增加host头,支持虚拟主机,
    • 支持断点续传功能。
  • HTTP/2.0:

    • 多路复用,降低开销(一次TCP连接可以处理多个请求)
    • 服务器主动推送(相关资源一个请求全部推送);
    • 解析基于二进制,解析错误少,更高效(HTTP/1.X解析基于文本);
    • 报头压缩,降低开销。

三、HTTPS请求过程(一次HTTPS请求要进行两次HTTP传输)

  1. 客户端发出https请求,请求服务端建立SSL连接

  2. 服务端收到https请求,申请和自制数字证书,得到公钥和服务端私钥,并将公钥发送给客户端。

  3. 客户端验证公钥,不通过验证则发出警告,通过验证则产生一个随机的客户端私钥。

  4. 客户端将公钥与客户端私钥进行对称加密后传给服务端。

  5. 服务端收到加密内容后,通过服务端私钥进行非对称解密,得到客户端私钥。

  6. 服务端将客户端私钥和内容进行对称加密,并将加密内容发送给客户端。

  7. 客户端收到加密内容后,通过客户端私钥进行对称解密,得到内容。

下图https请求流程:

https请求过程.png

四、HTTPS怎么校验证书的有效性?

  • 证书里面包含了公钥+各种信息+签名,公钥加密私钥解,私钥加密公钥解。
  • 通过私钥将签名解密后得到的信息和证书里面的信息比对就可以验证证书的合法性了。
  • 签名是私钥和各种信息加密后形成的签名。

五、为什么HTTPS很安全却不普及?

  1. 加密通信与普通的文本通信,要消耗更多的CPU和内存,缓存慢,通信成本较大;

  2. HTTPS通信需要证书,而证书不是免费的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、网络协议 TCP/IP中文为传输控制协议/因特网互联协议,是一个协议族,包含了不同分层下的各类知名协议:htt...
    十三是只柴阅读 1,319评论 0 0
  • 一、总概 OSI模型和 TCP/IP模型: 各层详解【1】物理层:将数据转换为可通过物理介质传送的电子信号。主要定...
    哲里菲桦阅读 3,226评论 0 1
  • 一、HTTP 协议 HTTP 协议:超文本传输协议是一种详细规定了浏览器和万维网(WWW = World Wide...
    mpyl阅读 3,379评论 0 2
  • 2019年即将结束,作为移动端开发,我们常常需要与后台进行网络数据的通信,在我们开发的过程中,常常只是通过...
    Android开发_Hua阅读 3,101评论 0 1
  • 1.网络模型 1.1 OSI 七层模型 某一层的服务就是该层及其下各层的一种能力,它通过接口提供给更高一层。 (关...
    wszyxc阅读 1,720评论 0 0

友情链接更多精彩内容