您好!欢迎来到源码码网

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

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

一. 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)
推荐阅读
  • bootstrap ui框架能用在uniapp中吗?
  • bootstrap ui框架能用在uniapp中吗?
  • BootstrapUI框架通常是前端开发中的一种工具,它提供了一套预定义的CSS样式和组件,用于快速构建响应式布局的网页。然而,UniApp是一个使用Vue.js开发跨平台应用的框架,它可以用来开发iOS、Android、以及各种小程序和H5应用。
  • 互动社区
  • 来源:源码码网
  • 编辑:热度建站
  • 时间:2024-04-12 00:04
  • 阅读:139
  • css实现banner图由中心点动态放大效果
  • css实现banner图由中心点动态放大效果
  • 在日常的网页设计中,为了让网页增加一定的特效以达到交互的目的,我们尝尝会在网页中使用一些动画效果。今天来说说实现banner图由中心点动态放大效果,实现这个效果需要用到css中的动画:animation​和关键帧:@keyframes,具体示例如下:
  • 源码教程
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2024-04-11 18:52
  • 阅读:157
  • countUp.js实现鼠标滑动到某个位置数字自动滚动增加的效果
  • countUp.js实现鼠标滑动到某个位置数字自动滚动增加的效果
  • 在网页开发中为了提升网页的交互效果,经常会用到使用js给网页增加一定的特效,下边就来说说使用js实现鼠标滑动到某个位置数字自动滚动增加的效果。其实这种效果有很多中解决办法,自己也可以去写,下边我们借助countUp.js来实现,关于这个js文件,我放在末尾:
  • 源码教程
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2024-04-08 09:20
  • 阅读:230
  • 响应式网页设计思路及注意事项
  • 响应式网页设计思路及注意事项
  • 一、什么是响应式网页响应式网页设计就是让网页具有根据设备类型应用CSS样式的能力。设计:设想、计划。设计就是把想法实现。网页设计:按照一定的设计思路布局网页内容。传统网页设计:都是针对PC端浏览器而设计的,不具备查询设备的能力,更不能对多种访问设备做出响应。传统网页设计的弊端:在移动互联网时代,传统的网页设计不适合多屏幕时代。响应式网页设计应运而生。响应式网页设计是一种设计网页的思想/方法。响应:指让我们的网页能够自动查询用户的访问设备
  • 源码教程
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2024-04-02 11:24
  • 阅读:134
  • css中rel的属性值都有哪些,分别代表什么意思
  • css中rel的属性值都有哪些,分别代表什么意思
  • 在HTML中,元素的rel属性用于定义当前文档与被链接文档之间的关系。这个属性在CSS的上下文中经常与样式表关联,但rel属性的用途远不止于此。以下是一些常见的rel属性值及其意义:1、stylesheet:表示被链接的文档是一个样式表。这通常用于链接CSS文件。
  • 源码教程
  • 来源:源码码网
  • 编辑:源码码网
  • 时间:2024-03-28 12:28
  • 阅读:267
联系客服
源码代售 源码咨询 素材咨询 联系客服
029-84538663
手机版

扫一扫进手机版
返回顶部