HTTP与HTTPs的区别

一. HTTPs和HTTP的区别

主要如下:

1、费用:https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用

2、安全性:http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议

3、端口:http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

二. HTTPs和HTTP的概念

超文本传输协议HTTP协议:被用于在 Web浏览器网站服务器 之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密
是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

安全套接字层超文本传输协议HTTPS协议:是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

HTTPS协议的主要作用可以分为两种一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

三. HTTP和HTTPs的主要特点

3.1 HTTP的主要特点

  • 支持客户/服务器模式。(C/S模式)

  • 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快

  • 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

  • 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

  • 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快

3.2 HTTPs的主要特点

HTTPS是HTTP协议的修改,它加密数据并确保其机密性。其配置可保护用户在与网站交互时免于窃取个人信息和计费数据。

1、优点

相比于http,https可以提供更加优质保密的信息,保证了用户数据的安全性,此外https同时也一定程度上保护了服务端,使用恶意攻击和伪装数据的成本大大提高。

2、缺点

  • https的技术门槛较高,多数个人或者私人网站难以支撑,CA机构颁发的证书都是需要年费的,此外对接Https协议也需要额外的技术支持;
  • 目前来说大多数网站并不关心数据的安全性和保密性,其https最大的优点对它来说并不适用;
  • https加重了服务端的负担,相比于http其需要更多的资源来支撑,同时也降低了用户的访问速度
  • 目前来说Http网站仍然大规模使用,在浏览器侧也没有特别大的差别,很多用户不关心的话根本不感知。

四. HTTP和HTTPs的工作流程

4.1 HTTP的工作过程

一次HTTP操作称为一个事务,其工作整个过程如下:

1)、地址解析

如用客户端浏览器请求这个页面:http://localhost.com:8080/index.htm

从中分解出协议名、主机名、端口、对象路径等部分,对于我们的这个地址,解析得到的结果如下:

 协议名:http
 主机名:localhost.com
 端口:8080
 对象路径:/index.html

在这一步,需要 域名系统DNS 解析 域名localhost.com,得主机的IP地址。

2)、封装HTTP请求数据包

把以上部分结合本机自己的信息,封装成一个HTTP请求数据包

3)封装成TCP包,建立TCP连接(TCP的三次握手)

  • 在HTTP工作开始之前,客户机(Web浏览器)首先要通过网络与服务器建立连接,该连接是通过TCP来完成的

  • TCP协议 与 IP协议 共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。

  • 为什么要TCP连接?
    HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接. 因此,首先要建立TCP连接,一般TCP连接的端口号是80。这里是8080端口

4)客户端发送请求命令

  • 建立连接后,客户端向服务端发起HTTP请求。例如:POST/login.html http/1.1

  • 客户端发送请求头信息,请求内容,最后会发送一空白行,标示客户端请求完毕

5)服务器响应

  • 服务器做出应答,表示对于客户端请求的应答,例如:HTTP/1.1 200 OK
  • 服务器向客户端发送应答头信息
  • 服务器向客户端发送请求头信息后,也会发送一空白行,标示应答头信息发送完毕,接着就以Content-type要求的数据格式发送数据给客户端

6)服务器关闭TCP连接

  • 关闭TCP连接,如果 客户端 或者 服务器 在其头信息加入了这行代码
 Connection:keep-alive
  • TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

服务器将响应信息传给客户端,响应体中的内容可能是一个html页面,也可能是一张图片,通过输入流将其读出,并写回到显示器上。

4.2 HTTPs的工作过程

在这里插入图片描述

  • 第一步:客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
  • 第二步:Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥(非对称加密))传送一份给客户端。
  • 第三步:客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
  • 第四步:客户端的浏览器根据双方同意的安全等级,建立会话密钥(对称加密),然后利用网站的==公钥(非对称加密)会话密钥(对称加密)==加密,并传送给服务器。
  • 第五步:Web服务器利用自己的私钥(非对称加密)解密出会话密钥(对称加密)
  • 第六步:Web服务器利用==会话密钥(对称加密)==加密与客户端之间的通信。
  • 归纳:用非对称加密 对 客户端生成的随机密钥(用来进行对称加密)进行加密/解密,然后客户端和服务器都使用 对称加密的密钥 进行 对称加解密。 相当于把一个保险箱的密码放在另一个保险箱里面,对密码加一次密。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值