https和http有什么区别(内附详细分析)

https和http有什么区别(内附详细分析)很多站长知道https和http有所不同,但是究竟两者有什么不同浑然不知,针对这种情况,本文给大家详细分析一下https和http有什么区别。一、基本概念(http服务器–>本地浏览器,正确快速传输;https安全套接字层,http的安全版本,http+ssl层,建立一个信息安全的通道,保证数据传输的安全,确认网站的真实性)1、HTTP:超文本传输协议(HyperTextTransferProtocol)。是互联网上应用最为广泛的一种网络协议,所有的www文件都必须遵守这个…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

很多站长知道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和http有什么区别(内附详细分析)-小葛博客|葛师傅的小窝-专注免费资源分享

 

我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取,所以很多银行网站或电子邮箱等安全级别较高的服务都会采用HTTPS协议。

1、客户端发起HTTPS请求

就是用户在浏览器里输入一个https网址,然后连接到server的443端口

2、服务端的配置

采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务)。

这套证书其实就是一对公钥和私钥,如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西。

3、传送证书

这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。

4、客户端解析证书

这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。

如果证书没有问题,那么就生成一个随机值,然后用证书对该随机值进行加密,就好像上面说的,把随机值用锁头锁起来,这样除非有钥匙,不然看不到被锁住的内容。

5、传送加密信息

这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

6、服务端解密信息

服务端用私钥解密后,得到了客户端传过来的随机值(新的私钥),然后把内容通过该值进行对称加密,所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。

7、传输加密后的信息

这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。

8、客户端解密信息

客户端用之前生成的私钥(随机值)解密服务段传过来的信息,于是获取了解密后的内容,整个过程第三方即使监听到了数据,也束手无策。

以上就是给大家介绍了https和http有什么区别,应该够详细了,相信一定能够帮助到大家。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181299.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月16日 下午4:46
下一篇 2022年10月16日 下午5:00


相关推荐

  • Apollo星火自动驾驶比赛思路以及代码实现

    Apollo星火自动驾驶比赛思路以及代码实现

    2026年3月14日
    3
  • 注解式elasticsearch+SpringBoot(附分布式配置)

    注解式elasticsearch+SpringBoot(附分布式配置)前言:以前使用的是RestHighLevelClient客户端,使用起来一大堆的类相互嵌套,特别是agg操作,代码十分惨烈。架构:使用方式与mybatis类似,采用xml的形式,将dsl与代码分离。示例用了swagger2和lombok。需知:必须学会DSL语法(看半小时差不多就会了吧)。依赖:<dependency><group…

    2025年7月15日
    5
  • 路飞学城python电子书_路飞学城python入门笔记01

    路飞学城python电子书_路飞学城python入门笔记01机器语言 优点最底层 速度最快 缺点最复杂 开发效率最低汇编语言 有点比较底层 速度最快 缺点最复杂 开发效率最低高级语言 高级语言所编制的程序不能直接被计算机识别必须经过转换才能被执行按转换方式可以分成两类 编译类在应用源程序执行之前 就将程序源代码翻译成目标代码 机器语言 因此其目标程序可以托利奇语言环境独立执行 使用比较方便而效率高 但应用程序一旦需要修改 必须先修改源代码 再重新编译生

    2026年3月26日
    2
  • STM32和51单片机有什么区别

    STM32和51单片机有什么区别在项目开发过程中 我们经常会遇到单片机选型的需要 所以我们往往会根据项目的功能需求选择合适的品牌和型号 常见的 51 单片机和 STM32 单片机也将是我们主要考虑的机型 STM32 和 51 单片机参数区别核心不一样 STM32 系列有很多内核版本 包括 cortex m1 M4 M7 内核 常用的单片机型号 stm32f1 系列是 Cortex M3 内核 其实 51 单片机是指与 Intel8051 内核结构相同的单片机 其内核结构和时钟树结构有很大不同 STM32 系列的主频也不同于 51 单片机的外围设备 我们常用的 stm3

    2026年3月18日
    1
  • B站—【狂神说Java】JavaWeb入门到实战—笔记

    B站—【狂神说Java】JavaWeb入门到实战—笔记JavaWebJavaWeb1、基本概念web开发:·web,网页的意思,www.baidu.com·静态web。html,sss。提供给所有人看的数据始终不会发生变化!动态web。淘宝,几乎是所有的网站;。提供给所有人看的数据始终会发生变化,每个人在不同的时间,不同的地点看到的信息各不相同!。技术栈:Servlet/ISP,ASP,PHP…

    2022年5月28日
    41
  • python协程系列_python scrapy

    python协程系列_python scrapy协程的定义协程(Coroutine),又称微线程,纤程。(协程是一种用户态的轻量级线程)作用:在执行A函数的时候,可以随时中断,去执行B函数,然后中断B函数,继续执行A函数(可以自动

    2022年7月31日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号