HTTPS是HTTP的双端加密

作者: PM回忆录 | 来源:发表于2018-12-22 09:54 被阅读2次

提到https,要说到几个概念:

一、http

http是超文本传输协议,也就是将传输的内容规定为一种格式,确保对方可以正确解析。http分为请求方和响应方两端,分别代表客户端和服务器。

1.下面是http请求的格式:

其中包括了三部分内容:

状态行:包括请求方式Method、资源路径URL、协议版本Version;

请求头:包括一些访问的域名、用户代理、Cookie等信息;

请求正文:就是HTTP请求的数据。

请求方式Method一般有GET、POST、PUT、DELETE,含义分别是获取、修改、上传、删除,其中GET方式仅仅为获取服务器资源,方式较为简单,因此在请求方式为GET的HTTP请求数据中,请求正文部分可以省略,直接将想要获取的资源添加到URL中。

2.下面是Http的响应格式:

状态行:包括协议版本Version、状态码Status Code、回应短语;

响应头:包括搭建服务器的软件,发送响应的时间,回应数据的格式等信息;

响应正文:就是响应的具体数据。

我们主要关心并且能够在客户端浏览器看得到的是三位数的状态码,不同的状态码代表不同的含义,其中

1xx表示HTTP请求已经接受,继续处理请求

2xx表示HTTP请求已经处理完成

3xx表示把请求访问的URL重定向到其他目录

4xx表示客户端出现错误

5xx表示服务端出现错误

其中常见状态码的含义有:

200—OK/请求已经正常处理完毕

301—/请求永久重定向

302—/请求临时重定向

304—/请求被重定向到客户端本地缓存

400—/客户端请求存在语法错误

401—/客户端请求没有经过授权

403—/客户端的请求被服务器拒绝,一般为客户端没有访问权限

404—/客户端请求的URL在服务端不存在

500—/服务端永久错误

503—/服务端发生临时错误

二、数字证书和SSL/TLS

数字证书是SSL协议和TLS协议在传输的过程中做为双方认证用的,简而言之数字证书是一种网络上证明持有者身份的文件,同时还包含有公钥。

ssl是安全套接层,tls是安全传输协议。两者都是为了保障信息不被窃听、篡改、伪造。

私钥和公钥的作用:

加解密:公钥加密,私钥解密。(没有私钥无法解密公钥加密的信息)

检验签名:私钥签名,公钥检验。(只有私钥签名后,公钥才能识别出正确的信息)

因此,只要保证服务器的私钥不丢失,基本没人可以伪造。

CA:颁发数字证书的机构。

可以这样理解SSL/TLS,这两种协议都是建立安全传输的,相当于为http进行了加密操作。

HTTPS的前后端通信过程:首先,客户端请求服务器,服务器发送CA和公钥给客户端,客户端通过自身的可信CA列表查看服务器的CA是否在可信列表内,如果在的话就去CA校验证书的合法性,若合法,则客户端将会产生随机数用服务器的公钥加密后发送给服务器,这是服务器用自身的私钥解密,这样经过几次通信之后,双方会达成一个统一的对称密钥用于通信。这样便建立了安全的连接。

三、总结

通过HTTPS的 学习,我们了解到了HTTPS是HTTP+SSL/TLS的组合,以实现安全可信的HTTP连接。另外HTTPS的端口号一般是443,HTTP端口号是80。

如果你想实现HTTPS的前后端数据传输,需要在CA机构注册自己的数字证书,并修改服务器相关参数来实现。数字证书一般几年只要几十块,为了安全还是可以尝试一下的。

相关文章

  • HTTPS是HTTP的双端加密

    提到https,要说到几个概念: 一、http http是超文本传输协议,也就是将传输的内容规定为一种格式,确保对...

  • 软考-网络协议(上)

    1.协议 HTTP相比,HTTPS协议对传输的内容进行加密,更加安全。HTTPS基于______安全协议,其默认端...

  • RSA 加密解密

    https 私钥 -》 服务端。 私钥加密 -签名 公钥 -〉 客户端 公钥加密 -加密 下面是用公钥 加密,...

  • http与https区别

    1加密 https是加密的,更安全 2端口 http是80,https是443 3速度 http页面响应速度更快,...

  • HTTPS 学习

    https是加密的http协议,通过不对称加密确认对称加密的密钥,之后使用对称加密进行通信。通信流程: http ...

  • 零基础学习接口测试-HTTPS基础知识

    一、HTTPS简介: HTTPS是安全的http协议。 HTTPS = HTTP + 加密 + 认证 + 完整性保...

  • Swift使用HTTPS

    1. HTTPS到底是个什么鬼? SSL/TSL+HTTP就是在HTTP传输之前,先给数据做非对称加密,客户端用公...

  • Https原理

    简介 http其实由HTTP+SSL/TLS组成,相当于http加上一层加密算法,客户端与服务端传输数据都是加密的...

  • 带你通俗理解HTTPS

    https:指的是在http层又加了一个SSL/TLS协议,要求服务器端跟客户端在传递数据的时候必须是加密后的数据...

  • 小猿圈web前端开发之什么是HTTPS

    上次讲到了为什么需要用到HTTPS,HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议...

网友评论

    本文标题:HTTPS是HTTP的双端加密

    本文链接:https://www.haomeiwen.com/subject/nqfikqtx.html