https和http的区别主要如下: 1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;https协议是由ssl+http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
以下是具体一些分析
一、http和https的基本概念 http:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(tcp),用于从www服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
https:是以安全为目标的http通道,简单讲是http的安全版,即http下加入ssl层,https的安全基础是ssl,因此加密的详细内容就需要ssl。
https协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
二、http和https的主要特点和工作流程 http特点 1.支持客户/服务器模式。(c/s模式)
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有get、head、post。每种方法规定了客户与服务器联系的类型不同。由于http协议简单,使得http服务器的程序规模小,因而通信速度很快。
3.灵活:http允许传输任意类型的数据对象。正在传输的类型由content-type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:http协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快
http工作流程 第一步:建立tcp/ip连接,客户端与服务器通过socket三次握手进行连接
第二步:客户端向服务端发起http请求(例如:post/login.html http/1.1)
第三步:客户端发送请求头信息,请求内容,最后会发送一空白行,标示客户端请求完毕
第四步:服务器做出应答,表示对于客户端请求的应答,例如:http/1.1 200 ok
第五步:服务器向客户端发送应答头信息
第六步:服务器向客户端发送请求头信息后,也会发送一空白行,标示应答头信息发送完毕,接着就以content-type要求的数据格式发送数据给客户端
第七步:服务端关闭tcp连接,如果服务器或者客户端增connection:keep-alive就表示客户端与服务器端继续保存连接,在下次请求时可以继续使用这次的连接
https特点 https是http协议的修改,它加密数据并确保其机密性。其配置可保护用户在与网站交互时免于窃取个人信息和计费数据。
1、优点
相比于http,https可以提供更加优质保密的信息,保证了用户数据的安全性,此外https同时也一定程度上保护了服务端,使用恶意攻击和伪装数据的成本大大提高。
2、缺点
缺点也同样很明显,第一https的技术门槛较高,多数个人或者私人网站难以支撑,ca机构颁发的证书都是需要年费的,此外对接https协议也需要额外的技术支持;其二,目前来说大多数网站并不关心数据的安全性和保密性,其https最大的优点对它来说并不适用;其三,https加重了服务端的负担,相比于http其需要更多的资源来支撑,同时也降低了用户的访问速度;第四,目前来说http网站仍然大规模使用,在浏览器侧也没有特别大的差别,很多用户不关心的话根本不感知。
https工作流程
第一步:客户使用https的url访问web服务器,要求与web服务器建立ssl连接。
第二步:web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
第三步:客户端的浏览器与web服务器开始协商ssl连接的安全等级,也就是信息加密的等级。
第四步:客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
第五步:web服务器利用自己的私钥解密出会话密钥。
第六步:web服务器利用会话密钥加密与客户端之间的通信。