https和http的主要区别
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服务器利用会话密钥加密与客户端之间的通信。
最后说一句 ,ssl证书阿里云上可以免费申请一年
https和http的主要区别相关推荐
- 关于HTTP和HTTPS的区别
一 HTTP和HTTPS的基本概念 1.HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏 ...
- web专题 HTTP介绍和HTTPS协议区别,以及http版本特性
HTTP协议 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工 ...
- https详解+密钥交换算法+公钥与私钥
1.https的简单介绍 https(超文本传输安全协议),它是一个安全通信通道,简单讲就是http的安全版.它使用安全套接字层(SSL)进行信息交换,在http下加入SSL层,https的安全基础是 ...
- HTTP和HTTPS是什么 二者区别是什么
HTTP和HTTPS是什么 二者区别是什么 · HTTP简介 HTTP(超文本传输协议)是网络上最为广泛的传输协议,被用于在web浏览器和网站服务器之间的传输协议.HTTP是一个简单的请求-响应协议, ...
- HTTP与HTTPS的区别,详细介绍
需要查看更多的计算机网络相关的知识?点击这里 目录 HTTP与HTTPS介绍 HTTPS和HTTP的主要区别 HTTPS的主干层次介绍 客户端在使用HTTPS方式与Web服务器通信时的步骤 CA证书的 ...
- nginx--基于openssl自颁发SSL证书实现HTTPS协议安全访问网站
学习背景 大家在nginx安装(nginx安装教程)后,启动nginx,访问静态页面时,一般都是直接通过HTTP协议进行访问页面,如下图所示: 但实际应用中,有很多网站基于安全方面上的考虑,都有自己的 ...
- Java面试必背八股文[11]:计算机网络
OSI与TCP/IP各层的结构? 答:OSI分层 (7层):物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. TCP/IP分层(4层):网络接口层. 网际层.运输层. 应用层. 五层协议 ...
- 一些http和tomcat知识补充
HTTP和HTTPS的区别 概念 HTTP英文全称是Hyper Text Transfer Protocol,超文本传输协议,用于在Web浏览器和网站服务器之间传递信息. HTTP协议以明文方式发送内 ...
- 拉钩教育高薪训练营学习笔记
Tomcat请求处理过程 Tomcat是什么? Tomcat是一个Http服务器(能够接收并且处理Http请求,所以Tomcat是一个Http服务器) HTTP服务器接收到请求之后把请求交给Servl ...
最新文章
- 程序员,快通知你们老板上吴恩达的最新AI课
- Setup 和Hold (建立时间和保持时间)解析
- serverlet filter
- underscore.js源码解析2
- 智能计算升级背后:华为“不想再搬砖”
- Random随机数相关工具类
- 对已有文件进行既读又写的操作时关于文件位置注意事项(适用于Python和C/C++)
- YBROJ洛谷P3211:XOR和路径(线性基,期望dp)
- 【转】[完全免费] 在线UML Class Diagram 类图工具 - 教程第1部分
- 乘势而起,走进2019年风口“边缘计算”
- spring问题-使用tomcat容器,通过url映射寻找view的时候,会报错
- ZOJ - 2402 DP方案数
- java 安卓 教学视频教程下载,老罗Android开发视频教程[共9大知识点] 下载
- 计算机建模步骤,cad建模步骤
- 奇异矩阵及广义逆矩阵
- linux下bluetooth编程(一)基础概念
- day03链表基础_移除链表元素_设计链表_反转链表
- spring Cloud与它的好兄弟分布式
- C++初阶习题(牛客)【7】最小公倍数
- hadoop读写流程、副本机制、安全模式、平衡节点
热门文章
- 【论文解读】打破常规,逆残差模块超强改进,新一代移动端模型MobileNeXt来了!精度速度双超MobileNetV2...
- 【零基础入门数据挖掘】-特征工程
- 数据分析的必备材料:学完可以解决90%以上的数据分析问题
- 程序员or产品经理┃同是职场脱发人,光头何苦为难光头!
- 深度学习笔记第一门课​第四周:深层神经网络
- 搜索推荐炼丹笔记:点击位置偏差的经验比较
- 数据挖掘具体技术——分类
- VOA AGRICULTURE REPORT - Two Efforts Seek to Increase Food Security in Africa
- mysql物理备份工具Xtrabackup安装配置
- 安装Zabbix过程中出现的问题集