HTTP与HTTPS的区别_HTTP与HTTPS[通俗易懂]

HTTP与HTTPS的区别_HTTP与HTTPS[通俗易懂]关于HTTP/HTTPS虽然很熟悉,但是其中原理自认为理解还是不够深入。在网上也看了许多关于HTTP/HTTPS的,这里加上自己理解总结了一下常遇到的问题,顺便巩固一下,方便以后忘记了来查看。一、HTTPHTTP(HypertextTransferPrtcl)超文本传输协议是基于TCP/IP协议的应用层协议,主要规定了客户端和服务端之间的通信格式,默认80端口(浏览器默认)。请求报文格式&_shiny服务器https

HTTP与HTTPS的区别_HTTP与HTTPS[通俗易懂]"

关于HTTP/HTTPS虽然很熟悉,但是其中原理自认为理解还是不够深入。在网上也看了许多关于HTTP/HTTPS的,这里加上自己理解总结了一下常遇到的问题,顺便巩固一下,方便以后忘记了来查看。

一、HTTP

HTTP(Hypertext Transfer Prtcl)超文本传输协议是基于TCP/IP协议的应用层协议,主要规定了客户端和服务端之间的通信格式,默认80端口(浏览器默认)。

请求报文格式

<method><request-URL><version>
<headers>

<entity-body>

响应报文格式

<version><status><reason-phrase>
<headers>

<entity-body>

这里记录几个请求头

Accept:
指定客户端能接收的内容类型
Accept:text/plain,text/html

Connection:
表示是否需要持久连接 // HTTP 1.1默认进行持久连接
Connection: close

Referer:
先前网页的地址,当前请求网页之前,告诉服务器来源

Cookie:
发送请求时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
Cookie: role=user;ssid=1

HTTP返回状态码

1xx(临时响应)
表示临时响应并需要继续执行操作的状态码。

2xx(成功状态)
表示成功处理了请求的状态码。

3xx(重定向)
表示要完成请求,需要进一步操作。

4xx(请求错误)
这些状态代码表示请求可能出错,客户端请求出错。

5xx(服务器错误)
这些状态代码表示服务器在尝试处理请求时发生内部错误。

二、HTTPS

HTTPS (HyperText Transfer Protocol over Secure Socket Layer)可以理解HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层。

流程:

  • 客户端发起 SSL 握手消息给服务端要求连接
  • 服务端将证书返回客户端
    证书包含:
    (1)颁发机构信息
    (2)公钥
    (3)公司信息
    (4)域名
    (5)有效期
    (6)指纹
  • 客户端严重证书是否合法,不合法会提出警告,将是否继续通讯的决定权交给用户选择 ( 注 意,这里将是一个安全缺陷 )。如果检查无误或者用户选择继续,则客户端认可服务端的身份。
  • 服务端要求客户端发送证书,并检查是否通过验证。失败则关闭连接,认证成功则从客户端证书中获得客户端的公钥。到此,服务器客户端双方的身份认证结束。

(协商加密算法)

  • 客户端发送协商请求给服务端, 其中包含自己支持的非对称加密的密钥交换算法 , 数据签名摘要算法  , 加密传输数据的对称加密算法,以及加密密钥的长度。 服务端接收到消息之后,选中安全性最高的算法,并将选中的算法发送给客户端,完成协商。
  • 客户端生成随机的字符串,通过协商好的非对称加密算法,使用服务端的公钥对该字符串进行加密,发送给服务端。
  • 服务端通过私钥对随机数解密,对后通过客户端发送的随机数作为密钥形成对称加密算法,对返回结果加密后传输。

今天的文章HTTP与HTTPS的区别_HTTP与HTTPS[通俗易懂]分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58658.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注