https和http有什么区别(内附详细分析)
很多站长知道https和http有所不同,但是究竟两者有什么不同浑然不知,针对这种情况,本文给大家详细分析一下https和http有什么区别。
一、基本概念(http服务器–>本地浏览器,正确快速传输;https安全套接字层,http的安全版本, http+ssl层,建立一个信息安全的通道,保证数据传输的安全,确认网站的真实性)
1、HTTP:超文本传输协议(HyperText Transfer Protocol)。是互联网上应用最为广泛的一种网络协议,所有的www文件都必须遵守这个标准。是一个客户端和服务器端请求和应答的标准(TCP),用于从www服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
2、HTTPS:安全套接字层超文本传输协议(Hyper Text Transfer Protocol over Secure Socket Layer)。以安全为目标的HTTP通道,简单讲是HTTP的安全版本,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
HTTPS和SSL支持使用X.509数字认证,如果需要的话用户可以确认发送者是谁,也就是说它的主要作用可以分为两种:
(1)建立一个信息安全的通道,来保证数据传输的安全;
(2)确认网站的真实性。
二、具体区别
HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据加密传输,网景公司设计了SSL(Sercure Socket Layer)协议用于对HTTP协议传输的数据进行加密,从而诞生了HTTPS。具体的区别如下:
1、HTTPS更安全:HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议的信息明文传输安全;
2、HTTPS需要申请证书:HTTPS协议需要到CA申请证书,一般免费证书很少,需要交费,费用大概与.com域名差不多,每年需要大约几十元的费用。而常见的HTTP协议则没有这一项;
3、端口不同:HTTP使用的是大家最常见的80端口,而HTTPS连接使用的是443端口;
4、安全性不同:HTTP的连接很简单,是无状态的。而HTTPS协议是SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比HTTP协议安全;
三、HTTPS具体工作
HTTPS连接时,服务器要求有公钥和签名的证书。使用HTTPS连接,服务器响应初始连接,并提供它所支持的加密方法,作为回应,客户端选择一个连接方法,并且客户端和服务器端交换证书验证彼此身份,完成后在确保使用相同密钥的情况下传输加密信息,然后关闭连接,为了提供HTTPS连接支持,服务器必须有一个公钥证书,该证书包含经过证书机构认证的密钥信息,大部分证书都是通过第三方机构授权的以保证证书是安全的。
HTTPS跟HTTP一样,只不过增加了SSL。
1、HTTP包含如下动作:
(1)浏览器打开一个TCP连接
(2)浏览器发送HTTP请求到服务器端
(3)服务器发送HTTP回应信息到浏览器
(4)TCP连接关闭
2、SSL包含如下动作:
(1)验证服务器端;
(2)允许客户端和服务器端选择加密算法和密码,确保双方都支持
(3)验证客户端(可选)
(4)使用公钥加密技术来生成共享加密数据
(5)创建一个加密的SSL连接
(6)基于该SSL连接传递HTTP请求
四、HTTPS的工作原理
我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等安全级别较高的服务都会采用HTTPS协议。
1、客户端发起HTTPS请求
就是用户在浏览器里输入一个https网址,然后连接到server的443端口
2、服务端的配置
采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。
这套证书其实就是一对公钥和私钥,如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。
3、传送证书
这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。
4、客户端解析证书
这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。
如果证书没有问题,那么就生成一个随机值,然后用证书对该随机值进行加密,就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。
5、传送加密信息
这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。
6、服务端解密信息
服务端用私钥解密后,得到了客户端传过来的随机值(新的私钥),然后把内容通过该值进行对称加密,所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。
7、传输加密后的信息
这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。
8、客户端解密信息
客户端用之前生成的私钥(随机值)解密服务段传过来的信息,于是获取了解密后的内容,整个过程第三方即使监听到了数据,也束手无策。
以上就是给大家介绍了https和http有什么区别,应该够详细了,相信一定能够帮助到大家。
https和http有什么区别(内附详细分析)相关推荐
- 客户端访问https时应无浏览器(含终端)安全警告信息;_https和http有什么区别(内附详细分析)...
很多站长知道https和http有所不同,但是究竟两者有什么不同浑然不知,针对这种情况,本文Seo星火给大家详细分析一下https和http有什么区别. 一.基本概念: (http服务器-->本 ...
- Github 之 本地上传代码到 Github ,并且添加 .gitignore 文件 屏蔽一些文件上传(内附详细步骤)
Github 之 本地上传代码到 github ,并且添加 .gitignore 文件 屏蔽一些文件上传(内附详细步骤) 目录 Github 之 本地上传代码到 github ,并且添加 .gitig ...
- 新版带支付功能2021全新最火表情包小程序源码,无限裂变,斗图小程序,头像壁纸,外卖服务内附详细搭建教程
内附详细搭建教程 1.全新表情包小程序已上线 2.增加外卖系统服务,进行进一步的扩展内容分销 3.独立后台系统,自己运营管理,广告位自己控制 4.流量主可以代开,小程序包通过审核,不通过不收钱 5.不 ...
- Python 框架 之 Django 绑定 MySql ,MVT 实现简单一个简单的浏览器(内附详细步骤)
Python 框架 之 Django 绑定 MySql ,MVT 实现简单一个简单的浏览器(内附详细步骤) 目录
- Opencv+Python学习记录9:掩膜(掩码)的使用(内附详细代码)
一,基本概念 OpenCV中的很多函数都会指定一个掩模,也被称为掩码,例如: 计算结果=cv2.add(参数1,参数2,掩模) 当使用掩模参数时,操作只会在掩模值为非空的像素点上执行,并将其他像素点的 ...
- 通俗易懂玩QT:Qpaint绘制开关按钮(内附详细源码)
Qpaint 绘制开关按钮(内附详细源码) 一.实验效果与开发环境 效果图如下: 开发环境: 二.实验代码 switch.h #ifndef SWITCH_H #define SWITCH_H#inc ...
- java水彩画效果滤镜_自带高饱和滤镜的水彩画(内附详细工具介绍)!
原标题:自带高饱和滤镜的水彩画(内附详细工具介绍)! 画友分享第102期:自带高饱和滤镜的水彩画(内附详细工具介绍)! --潘子君的水彩心得分享 画友简介 Hello,我是潘子君(微博:溜溜潘子君,微 ...
- 百度收录批量查询_峰少课堂 手把手教你操作百度霸屏!(内附详细操作笔记!)...
今天峰少课堂给大家讲解的是操作百度霸屏,一个月赚6000块!(内附详细操作笔记!) 看完可以直接拿去实操,没有效果你来找我啊哈哈哈哈哈!!之前我就是在公司摸索出了这套方法,然后专门找了一个文案做百度霸 ...
- N皇后问题递归求解(内附详细代码)
N皇后问题递归求解(内附详细代码) 内容描述 在n*n的方格棋盘上,放置n个皇后,要求每个皇后不同行.不同列.不同对角线. 解题思路 下面我们以4皇后问题举例: 设queen(i,n)是在1-i-1行 ...
最新文章
- websocket并发性测试
- pyhon字典后跟中括号
- caffe学习(一):开发环境搭建,编译caffe(win10)
- Cloud for Customer work center的数据是如何从ABAP Netweaver返回给前端的
- java epoll select_字节跳动高频面试题,操作系统/算法/Java等。
- python pip安装pyinstaller报错_pip install pyinstaller (安装过程报错解决)
- python连接mysql代码_Python连接MySQL的实例代码
- 《精通软件性能测试与LoadRunner最佳实战》—第1章1.1节软件测试基础
- 自主品牌语音交互性能测评,荣威RX5反应更快,博越变暖男
- 盐池元宵转九曲【山乡元夕】
- python 控制鼠标滚轮_使用 python pyautogui实现鼠标键盘控制功能
- SQL实现 模糊查询
- 隐藏滚动条css3实现滚动同时隐藏滚动条
- imx8 qca6595驱动编译
- 【LeetCode】详解环形链表141. Linked List Cycle Given a linked list, determine if it has a cycle in it. To
- Ethical.Hacking.2021.10:CRAFTING TCP SHELLS AND BOTNETS(2)
- 2036:【例5.3】开关门
- 交换机学习之划VLAN
- 企业信息化、数字化和智能化的区别
- 在app和h5页面中播放视频监控
热门文章
- rdp协议服务器会反连客户端吗,反向RDP攻击:RDP客户端上的代码执行
- Educoder - JSON基础
- 如何修改apn服务器,手机apn怎么设置服务器
- 我的eWork,我能赚钱的SOHO空间
- win7安装ettercap_使用ettercap进行dns欺骗和获取目标浏览的图片
- 无意中的一种图示1-三维立方体堆砌
- tp5 时间间隔查询问题
- 基于modprobe_path的内核提权方法
- undertale人物_Chara(游戏《Undertale》中的角色)_百度百科
- 泉州深化企业简易注销登记改革 让企业注销“少跑腿”