HTTP与HTTPS的工作流程

这篇具有很好参考价值的文章主要介绍了HTTP与HTTPS的工作流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

http知识点回顾

1、HTTP访问的过程

(1)解析url,获取 url 中包含的域名;

(2)通过DNS服务器查询域名对应的IP;

(3)浏览器得到域名对应的IP地址之后,向服务器发起三次握手请求建立TCP链接;

(4)TCP链接链接建立起来后,浏览器向服务器发送http请求,

(5)服务器接收到请求后,根据路径参数映射到特定的处理器进行处理,并将处理结果以及相应的视图返回给浏览器。

(6)浏览器解析视图,并根据请求到的资源、数据进行渲染页面,最终向用户呈现一个完整的页面。

2、HTTP常见状态码

HTTP与HTTPS的工作流程,http,https,网络协议状态码(HTTP协议中规定的响应状态号。不同的响应结果对应不同的号码。)

  • 200 表示请求响应成功,正常结束。
  • 404表示访问的资源不存在,通常是因为要么是你路径写错了,要么是路径写对了,但是服务器中对应的资源并没有启动成功。总之404错误是前端错误。
  • 405表示前端发送的请求方式与后端请求的处理方式不一致时发生:
    • 比如:前端是POST请求,后端的处理方式按照get方式进行处理时,发生405
    • 比如:前端是GET请求,后端的处理方式按照post方式进行处理时,发生405
  • 500表示服务器端的程序出现了异常。一般会认为是服务器端的错误导致的。
  • 以4开始的,一般是浏览器端的错误导致的。服务器无法处理请求。
  • 以5开始的,一般是服务器端的错误导致的。服务器处理请求出错。

3、HTTP 协议一共五大特点

  • 支持客户/服务器模式。
  • 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。
  • 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type(Content-Type是HTTP包中用来表示内容类型的标识)加以标记。
  • 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
  • 无状态:无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送HTTP请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。

https的工作流程

1、对称加密

在对称加密中,使用相同的密钥进行加密和解密。这意味着在通信双方之间共享一个密钥。通信双方使用该密钥加密和解密数据,以便只有知道密钥的人才能够解密和查看数据。

对称加密的好处是加密和解密速度较快,因为只需要进行一次操作。然而,其缺点是密钥的安全性是非常关键的,因为如果密钥被攻击者获得,那么攻击者就可以轻松地解密并查看通信内容。因此,在使用对称加密时,密钥的安全性必须得到保证。

2、非对称加密

简单说就是有两把密钥,通常一把叫做公钥、一把叫私钥,用公钥加密的内容必须用私钥才能解开,同样,私钥加密的内容只有公钥能解开。

  • 某网站服务器拥有公钥A与对应的私钥A’;浏览器拥有公钥B与对应的私钥B’。
  • 浏览器把公钥B明文传输给服务器。
  • 服务器把公钥A明文给传输浏览器。
  • 之后浏览器向服务器传输的内容都用公钥A加密,服务器收到后用私钥A’解密。由于只有服务器拥有私钥A’,所以能保证这条数据的安全。
  • 同理,服务器向浏览器传输的内容都用公钥B加密,浏览器收到后用私钥B’解密。同上也可以保证这条数据的安全。

HTTPS的加密却没使用这种方案,为什么?很重要的原因是非对称加密算法非常耗时,而对称加密快很多。

所以HTTPS采用的就是对称加密和非对称加密的混合加密方法。

3、https工作流程

HTTPS是在HTTP的基础上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。主要作用是:
(1)对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全;
(2)对网站服务器进行真实身份认证;

HTTP与HTTPS的工作流程,http,https,网络协议

  • 首先TCP三次握手建立链接,这是数据传输基础,在此之上开始SSL加密;

  • 客户端首先发送Client Hello开始SSL通信,报文中包含客户端支持的SSL版本、随机值Random1、加密算法以及密钥长度等;

  • 服务器发送Server Hello,和客户端一样,在报文中包含SSL版本、随机值Random2以及加密组件,此后服务端将证书也发送到客户端;

  • 此时客户端需要对服务端发送的证书进行验证,通过操作系统内置的CA证书,将服务器发送的证书的数字签名进行解密,并将证书的公钥进行相同算法的HASH与解密的数字签名解密的内容进行对比,验证证书是否合法有效,是否被劫持更换;

  • 客户端验证证书合法,然后生成一个随机值Random3,用公钥对Random3进行加密,生成Pre-Master Key,客户端以Client Key Exchange报文将Pre-Master Key发送到服务端,此后发送Change Cipher Spec报文表示此后数据传输进行加密传输;

  • 服务端将Pre-Master Key用自己的私钥解密为Random3,服务端发送Change Cipher Spec报文表示此后数据传输进行加密传输;

  • 这时客户端与服务端都拥有三个随机字符串,且Random3是密文传输的,是安全状态的,此时则可以使用这三个字符串进行对称加密传输。由于非对称加密慢,不能每次传输数据都进行非对称加密,所以使用非对称加密将密钥协商好然后使用对称加密进行数据传输;
    其中2、3、5、6也被称为SSL四次握手。文章来源地址https://www.toymoban.com/news/detail-824110.html

到了这里,关于HTTP与HTTPS的工作流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 网络原理 - HTTP / HTTPS(5)——https协议

    目录 一、HTTPS是什么 为什么要进行加密 二、“加密” 是什么 三、HTTPS的工作过程 (1)引入对称加密 对称密钥的特点: (2)引入非对称加密 非对称加密的特点: (3)中间人攻击 (4)引入证书 1、证书的介绍 2、证书验证过程 3、几个关键问题(黑客不能篡改证书的原因)

    2024年04月17日
    浏览(46)
  • 【Https协议】http的孪生兄弟,你了解多少呢,认识Https,Https工作原理之对称加密与非对称加密

    前言: 大家好,我是 良辰丫 ,这篇文章我们就来学习一下Https协议,了解Https的工作原理,对称加密以及非对称加密.💞💞💞 🧑个人主页:良辰针不戳 📖所属专栏:javaEE初阶 🍎励志语句:生活也许会让我们遍体鳞伤,但最终这些伤口会成为我们一辈子的财富。 💦期待大家三

    2024年02月10日
    浏览(46)
  • 计算机网络 - http协议 与 https协议(2)

    本篇介绍了构造http请求的的五种方式,简单的使用postman构造http请求,进一步了解https, 学习https的加密过程,了解对称密钥与非对称密钥对于加密是如何进行的,如有错误,请在评论区指正,让我们一起交流,共同进步! 本文开始 1) 直接在浏览器中的地址栏中输入一个 u

    2024年02月13日
    浏览(64)
  • HTTP 和 HTTPS 协议原理【网络基础】

    友情链接: HTTP协议【网络基础/应用层】 简单:HTTP 是一种文本协议,易于理解和实现。HTTP 的请求和响应都由起始行、首部字段和可选的消息主体组成,每个部分都有明确的语法规则。HTTP 的方法、状态码和首部字段都有标准化的定义,方便开发者遵循。 灵活:HTTP 是一种无

    2024年02月09日
    浏览(59)
  • 网络协议分析-http/https/tcp/udp

    “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生 错误”。主要目的防止 server 端一直等待,浪费资源。换句话说,即是为了保证服务端能收 接受到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手,为了保证客

    2024年02月11日
    浏览(50)
  • 网络基础2(HTTP,HTTPS,传输层协议详解)

    再谈协议         在之前利用套接字进行通信的时候,我们都是利用 “字符串” 进行流式的发送接收,但是我们平常进行交流通信肯定不能只是简单的发送字符串。         比如我们用QQ进行聊天,我们不仅需要得到对方发送的消息,还要知道对方的昵称,头像等一系列数

    2024年02月13日
    浏览(54)
  • 【Linux网络】网络应用层的 http 和 https协议

    在之前学习序列化和反序列化的时候,认识到主机之间传输结构数据的时候,最好是通过某种约定将结构数据序列化成一串字符串,接收方再通过反序列化将字符串转换成结构数据。以上说的这种约定,其实可以看成是用户层通信的一种协议,是由程序猿自己定的。   实际

    2024年02月02日
    浏览(64)
  • 【网络技术】【Kali Linux】Wireshark嗅探(九)安全HTTP协议(HTTPS协议)

    本次实验是基于之前的实验:Wireshark嗅探(七)(HTTP协议)进行的。本次实验使用Wireshark流量分析工具进行网络嗅探,旨在初步了解安全的HTTP协议(HTTPS协议)的工作原理。 HTTPS的含义是HTTP + SSL,即使用SSL(安全套接字)协议对通信数据进行加密。HTTP和HTTPS协议的区别(用

    2024年01月20日
    浏览(53)
  • 常见网络通信协议(http、https、ws)及安全协议(SSL、TLS、XTLS)

    文章内容删除了一大半不合适的内容,发不出来,你懂得。🥰 HTTP和HTTPS都属于 应用层协议 ,它们都是用于从万维网(WWW)服务器传输超文本到本地浏览器的传送协议。它们都是 基于 TCP/IP 协议 来传递数据的,支持 客户端-服务器模式 的通信。 HTTP和HTTPS的区别主要在于HTT

    2024年02月10日
    浏览(51)
  • 前端面试:【网络协议与性能优化】HTTP/HTTPS、TCP/IP和WebSocket

    嗨,亲爱的Web开发者!在构建现代Web应用时,了解网络协议是优化性能和确保安全性的关键。本文将深入探讨HTTP/HTTPS、TCP/IP和WebSocket这三个网络协议,帮助你理解它们的作用以及如何优化Web应用的性能。 1. HTTP/HTTPS协议: HTTP(超文本传输协议): HTTP是用于在Web上传输数据的

    2024年02月11日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包