您好!欢迎来到源码码网

什么是http和https?两者有什么区别和联系

  • 软件教程
  • 来源:源码码网
  • 编辑:admin
  • 时间:2020-09-05 11:47
  • 阅读:1017

一. HTTP介绍

    1.介绍

        http是一个超文本传输协议,全称“Hyper Text Transfer Protocol”。它运行于TCP协议之上,是用于万维网服务器与本地浏览器之间传输超文本的协议。

       HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议,HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。即是在http的基础上进行了ssl证书加密,相比http,https更具安全性。

    2.工作原理

        HTTP协议是基于客户端-服务器模式,通常浏览器作为HTTP客户端通过URLHTTP服务端发送所有请求,WEB服务器根据接收到的请求后,向客户端发送相应信息。具体流程如下:

        (1). 客户端与服务器端建立连接;

        (2). 客户端向服务器端发送请求;

        (3). 服务器端接收请求,并根据请求返回相应的结果作为应答;

        (4). 客户端与服务器端关闭连接。

如下图所示:

http-1.png

    3. 常见请求头信息

        Accept : 指定客户端能够接收的内容类型 
        Accept-Charset:浏览器可以接受的字符编码集
        Accept-Encoding: 指定浏览器可以支持的web服务器返回内容压缩编码类型
        Accept-Language:浏览器可接受的语言 
        Accept-Ranges: 可以请求网页实体的一个或者多个子范围字段
        Authorization: HTTP授权的授权证书 
        Cache-Control:指定请求和响应遵循的缓存机制 
        Connection: 表示是否需要持久连接
        Cookie HTTP :请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
        Content-Length :请求的内容长度 
        Content-Type: 请求的与实体对应的MIME信息
        Date: 请求发送的日期和时间
        Expect: 请求的特定的服务器行为 
        From: 发出请求的用户的
        Host :指定请求的服务器的域名和端口号
        Pragma :用来包含实现特定的指令
        Proxy-Authorization: 连接到代理的授权证书 
        Range: 只请求实体的一部分,指定范围 Range: bytes=500-999
        Referer: 先前网页的地址,当前请求网页紧随其后,即来路 
        Upgrade: 向服务器指定某种传输协议以便服务器进行转换 

    4. 常见响应头信息

        Accept-Ranges: 表明服务器是否支持指定范围请求及哪种类型的分段请求 

        Age: 从原始服务器到代理缓存形成的估算时间(以秒计,非负)
        Allow: 对某网络资源的有效的请求行为,不允许则返回405
        Cache-Control: 告诉所有的缓存机制是否可以缓存及哪种类型 
        Content-Encoding: web服务器支持的返回内容压缩编码类型
        Content-Language: 响应体的语言 
        Content-Length: 响应体的长度 
        Content-Location: 请求资源可替代的备用的另一地址 
        Content-MD5: 返回资源的MD5校验值 
        Content-Range: 在整个返回体中本部分的字节位置
        Content-Type: 返回内容的MIME类型 
        Date: 原始服务器消息发出的时间 
        Location: 用来重定向接收方到非请求URL的位置来完成请求或标识新的资源 
        Pragma: 包括实现特定的指令,它可应用到响应链上的任何接收方 
        Proxy-Authenticate: 它指出认证方案和可应用到代理的该URL上的参数 
        refresh :应用于重定向或一个新的资源被创造,在5秒之后重定向(由网景提出,被大部分浏览器支持) 
        Retry-After: 如果实体暂时不可取,通知客户端在指定时间之后再次尝试 
        Server: web服务器软件名称 
        Set-Cookie: 设置Http Cookie 

二. HTTPS

    1. 介绍

    HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议,HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。如下图:

https-1.png

    2.HTTPS加密算法

        (1). 对称加密

         客户端采用已知的算法对要发送至服务器的信息加密,另外再单独发送一次秘钥,服务端对加密的信息采用接收的秘钥进行解密;即采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密。如下图所示:

https

https

        (1). 非对称加密

          非对称加密的时候有两把锁,一把是私有密钥,一把是公有密钥,使用非对称加密时,客户端按照服务器给定的公开密钥进行加密处理,服务器接收到密文后再通过私有密钥进行解密。如下图所示:

https

    3.证书密钥加密

     数字证书认证机构是客户端与服务器都可信赖的第三方机构。

    1.服务器的开发者携带公开密钥,向数字证书认证机构提出公开密钥申请,数字证书认证机构在认清申请者的身份并审核通过后,会对开发者申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将密钥放在证书里面绑定。

    2.服务器将这个数字证书发送个客户端,客户端通过数字证书中的数字签名来验证公钥的真伪,确保服务器传过来的公开密钥是真实的,一般情况下证书的数字签名是很难被伪造的,这取决于认证机构的公信力,一旦去人信息无误后,客户端就会通过公开密钥对报文进行加密发送,服务器接收到以后用自己的私钥进行解密。


特别声明:
1、如无特殊说明,内容均为本站原创发布,转载请注明出处;
2、部分转载文章已注明出处,转载目的为学习和交流,如有侵犯,请联系客服删除;
3、编辑非《源码码网》的文章均由用户编辑发布,不代表本站立场,如涉及侵犯,请联系删除;
全部评论(0)
推荐阅读
  • 陀螺匠OA办公系统源码 PHP + Vue 前后端分离 完整可商用
  • 陀螺匠OA办公系统源码 PHP + Vue 前后端分离 完整可商用
  • 项目介绍《陀螺匠》是一套采用Laravel9框架结合Swoole高性能框架与Vue.js前端技术栈构建的AI+低代码双引擎智能办公系统。陀螺匠深度融合了AI智能体以及低代码开发平台,系统简约,易于功能扩展,方便二次开发。旨在为企业提供一站式、数智化转型的全方位解决方案,助力企业高效运营与智能决策。源码说明源码说明:项目代码100%开源,基于AGPL-3.0,支持免费商用!技术栈:系统基于Laravel9+Swoole+Vue.
  • 软件教程
  • 来源:CRMEB
  • 编辑:CRMEB
  • 时间:2026-03-27 15:33
  • 阅读:393
  • open claw最近很火,如何理性看待?
  • open claw最近很火,如何理性看待?
  • openclaw是2026年初科技圈最火爆的现象级话题。它不仅仅是又一个AI产品,更被百川智能的王小川誉为与ChatGPT诞生同等重要的里程碑——标志着AI从”只会说”的对话者,进化到了”能够做”的行动者。对于这股全民”养虾”热潮,我的观察是:它代表了一次人机关系的革命性跃迁,但同时也是一场充满风险与泡沫的狂欢,其真正的价值需要在喧嚣褪去、安全与成本的挑战被克服后才能显现。下
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-03-17 11:06
  • 阅读:434
  • 原生小程序和封装的小程序有什么区别
  • 原生小程序和封装的小程序有什么区别
  • 原生小程序和封装的小程序是两种不同的开发模式,主要区别在于开发方式、性能表现、代码维护以及跨平台能力。为了让你更清晰地理解,我们可以把“原生”比作用钢筋水泥直接盖楼,而“封装”则是用预制板或套件来组装楼。以下是详细的对比分析:1.定义与本质原生小程序:定义: 直接使用微信官方提供的开发工具、语法和API进行开发。语言: 使用微信自己定义的一套技术栈(WXML(微信标记语言)做结构、WXSS(微信样式表)做样式、JS
  • 行业资讯
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2026-03-06 11:54
  • 阅读:668
  • 基于NetCore(Razor Page)开发的Cms建站系统MIT协议
  • 基于NetCore(Razor Page)开发的Cms建站系统MIT协议
  • FytSoaCms一款基于NetCore2.2/3.1(RazorPage)功能强大的Cms建站系统,支持前后端分离。简介:模块化:全新的架构和模块化的开发机制,便于灵活扩展和二次开发。模型/栏目/分类信息体系:通过栏目和模型绑定,以及不同的模型类型,不同栏目可以实现差异化的功能,轻松实现诸如资讯、下载、讨论和图片等功能。通过分类信息和栏目绑定,可以自动建立索引表,轻松实现复杂的信息检索。FytSoa是一套基于NetCore+SqlS
  • 开发工具
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-24 22:21
  • 阅读:592
  • 基于JAVA开发的企业级平台微信公众号管理系统SmartWx
  • 基于JAVA开发的企业级平台微信公众号管理系统SmartWx
  • SmartWx微信公众号管理系统是一个完整的微信公众号web操作版,直接编译即可运行。让用户不再用关心微信的底层接口,直接使用页面进行操作,简单方便。包括服务器绑定、文本管理、图文管理、菜单管理、粉丝管理、群发消息等。技术框架开发语言:JAVA数据库:MYSQLJAVA开发框架:SpringMVC+Spring+Mybatis缓存框架:j2cache前端开发框架:Layui+JQuery+html前台模板引擎:art-templat
  • 源码教程
  • 来源:gitee
  • 编辑:源码码网
  • 时间:2026-01-24 21:53
  • 阅读:601
联系客服
源码代售 源码咨询 技术开发 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部