什么是HTTPS协议?与HTTP协议区别?

一、协议科普

HTTP协议(超文本传输协议)是一种用于在计算机网络上传输超文本的应用层协议。它是一种客户端-服务器协议,允许客户端通过Web浏览器等方式向服务器发送请求,服务器则返回响应。HTTP协议是构建万维网(WWW)的基础之一,被广泛用于在Web浏览器和Web服务器之间传输HTML页面、图像、视频、音频和其他类型的文件。

HTTP协议基于TCP协议,使用请求-响应模型进行通信。客户端发送一个HTTP请求到服务器,请求包含请求方法、URL和协议版本等信息。服务器接收请求并返回一个HTTP响应,响应包含状态码、响应头和响应体等信息。HTTP请求和响应都由一个消息头和一个消息体组成,消息头包含请求或响应的元数据,如请求方法、URL、协议版本、响应状态码等。

HTTP协议是无状态的,即服务器不会保留之前客户端请求的任何信息。这意味着每个请求都需要包含所有必要的信息,包括身份验证、Cookie等。为了提高性能和安全性,HTTP协议还支持一些扩展协议,如HTTPS、SPDY、HTTP/2等。

HTTPS是超文本传输协议(HTTP)的安全版本,全称为超文本传输安全协议(Hypertext Transfer Protocol Secure)。它用于在网络上安全地传输数据。HTTPS通过使用加密技术来保护通信双方之间的数据安全和完整性。

与HTTP协议相比,HTTPS协议具有以下区别:

  1. 安全性:HTTPS使用了SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议来加密数据,确保在客户端和服务器之间传输的信息不会被窃听、篡改或伪造。这提供了更高的安全级别,使得敏感信息(如登录凭据、支付信息等)在传输过程中更加安全。

  2. 端口号:HTTP默认使用端口号80进行通信,而HTTPS默认使用端口号443。这使得HTTP和HTTPS可以通过不同的端口进行区分。

  3. 加密机制:HTTPS使用公钥加密和私钥解密的方式来确保数据的机密性和完整性。客户端和服务器之间的通信会通过握手过程来交换加密密钥,并建立安全的通信通道。

  4. 证书验证:为了确保安全性,HTTPS使用数字证书来验证服务器的身份。证书由受信任的第三方机构颁发,用于证明服务器确实是预期的合法实体。这有助于防止中间人攻击和伪造网站。

二、HTTP协议的由来

HTTP 协议是在 1990 年由蒂姆·伯纳斯-李(Tim Berners-Lee)创建的。当时,伯纳斯-李正在创建万维网(World Wide Web),他需要一种方式来传输网页内容。于是他创建了 HTTP 协议,作为万维网的基础协议。

HTTP 协议的出现背景是为了解决万维网的信息传输问题。当时,互联网上的信息以文件的形式存储在各个主机上,用户需要通过 FTP 等协议进行文件传输和共享。这种方式存在着诸多不便,例如文件无法动态更新、无法跨主机共享等。伯纳斯-李创建 HTTP 协议的目的是为了提供一种更加便捷和高效的信息传输方式,使得用户可以通过网页浏览器访问远程主机上的网页内容,而无需进行复杂的文件传输和共享操作。

HTTP 协议的出现极大地促进了万维网的发展和普及,成为互联网上最为重要的协议之一。随着时间的推移,HTTP 协议也在不断地发展和改进,以适应不断变化的网络环境和应用需求。

HTTPS(Hypertext Transfer Protocol Secure)协议是在 HTTP 协议的基础上发展而来的,旨在为网页内容提供安全的传输保障。

HTTPS 协议的出现背景主要是由于互联网的开放性和不安全性。在 HTTP 协议中,网页内容以明文方式在网络上传输,这使得数据很容易被窃取或篡改。为了解决这个问题,人们开始研究如何在网页传输过程中对数据进行加密。

1994 年,Netscape 公司发布了 SSL(Secure Socket Layer)协议,用于在浏览器和服务器之间建立安全的加密通道。随后,IETF(Internet Engineering Task Force)将 SSL 协议标准化为 TLS(Transport Layer Security)协议。TLS 协议与 HTTP 协议结合,形成了 HTTPS 协议。

HTTPS 协议的出现极大地提高了网页传输的安全性和可信度。通过使用 SSL/TLS 加密技术,可以对网页内容进行加密,防止数据被窃取或篡改。同时,HTTPS 协议还可以通过证书认证服务器的身份,确保服务器是真实的并且没有被篡改。

随着网络安全意识的提高和网络攻击的加剧,HTTPS 协议已经成为互联网上的主流协议之一,被广泛应用于电子商务、金融、医疗等领域。



三、HTTP协议报文规则

HTTP 报文分为请求报文和响应报文两种类型。请求报文由客户端发送到服务器,用于请求某种资源;响应报文则由服务器发送到客户端,用于响应请求并返回请求的资源。

HTTP 请求报文由以下部分组成:

  • 请求行:包含请求方法、请求 URL 和 HTTP 版本等信息。例如,GET / HTTP/1.1。
  • 请求头部:包含一些键值对,用于描述请求的相关信息,例如用户代理、语言、Cookie 等。
  • 空行:用于分隔请求头部和请求正文。
  • 请求正文:包含请求的具体内容,例如查询字符串、表单数据等。

HTTP 响应报文由以下部分组成:

  • 状态行:包含 HTTP 版本、状态码和状态信息等。例如,HTTP/1.1 200 OK。
  • 响应头部:包含一些键值对,用于描述响应的相关信息,例如 Content-Type、Content-Length 等。
  • 空行:用于分隔响应头部和响应正文。
  • 响应正文:包含请求的资源内容。

HTTP 协议的规则主要包括以下几点:

  • HTTP 是一种请求-响应协议,客户端发送请求,服务器响应请求。
  • HTTP 使用 TCP 协议作为传输层协议,在建立连接后,可以在多个报文之间进行连续的数据交换。
  • HTTP 使用 URL 来标识资源,每个资源都有唯一的 URL。
  • HTTP 使用报文来交换数据,报文由请求报文和响应报文组成,报文包含了一些头部信息和正文内容。
  • HTTP 使用状态码来表示请求的结果,状态码分为五种类型,分别表示不同的响应结果。
  • HTTP 提供了一些方法(例如 GET、POST、PUT、DELETE 等)来请求资源,不同的方法有不同的用途。
  • HTTP 允许客户端和服务器在报文中包含一些额外的信息,例如 Cookie、Authorization 等,这些信息可以用于识别用户、管理会话等。
  • HTTP 协议是无状态的,服务器不会记录客户端的状态信息,每次请求都是独立的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/115166.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解排序算法(附带Java/Python/Js源码)

冒泡算法 依次比较两个相邻的子元素,如果他们的顺序错误就把他们交换过来,重复地进行此过程直到没有相邻元素需要交换,即完成整个冒泡,时间复杂度。 比较相邻的元素。如果第一个比第二个大,就交换它们两个;…

Leetcode107. 二叉树的层序遍历 II

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 输入:root [3,9…

咸虾米之一些快捷方式的操作,一行方块的左右滑动,方块在一区域内的任意移动

由于本着只学习微信小程序的目的,上面的几篇博文都是跟着黑马程序的课程走的!后面的就讲解uni-app的实验呢!一个人的精力是有限的,于是换了们课程继续深造微信小程序!!! 以下是在 .wxml中的一些…

音频母带制作::AAMS V4.0 Crack

自动音频母带制作简介。 使用 AAMS V4 让您的音乐听起来很美妙! 作为从事音乐工作的音乐家,您在向公众发布材料时需要尽可能最好的声音,而为所有音频扬声器系统提供良好的商业声音是一项困难且耗时的任务。AI掌握的力量! 掌控您…

2023.8.26-2023.9.3 周报【3D+GAN+Diffusion基础知识+训练测试】

目录 学习目标 学习内容 学习时间 学习产出 学习目标 1. 3D方向的基础知识 2. 图像生成的基础知识(GAN \ Diffusion) 3. 训练测试GAN和Diffusion 学习内容 1. 斯坦福cv课程-3D (网课含PPT) 2. sjtu生成模型课件 3. ge…

【卷积神经网络】经典网络之 LeNet-5, AlexNet 与 VGG-16

随着计算机硬件的升级与性能的提高,运算量已不再是阻碍深度学习发展的难题。卷积神经网络(Convolution Neural Network,CNN)是深度学习中一项代表性的工作,其雏形是 1998 年 LeCun 提出的 LeNet-5 模型。如今&#xff…

【Axure高保真原型】多图表动态切换

今天和大家分享多图表动态切换的原型模板,点击不同的图标可以动态切换对应的表,包括柱状图、条形图、饼图、环形图、折线图、曲线图、面积图、阶梯图、雷达图;而且图表数据可以在左侧表格中动态维护,包括增加修改和删除&#xff0…

百万级并发IM即时消息系统(2)

1.用户model type UserBasic struct {gorm.ModelName stringPassWord stringPhone string valid:"matches(^1[3-9]{1}\\d{9}$)"Email string valid:"email"Avatar string //头像Identity stringClientIp s…

docker高级(DockerFile解析)

1、构建三步骤 编写Dockerfile文件 docker build命令构建镜像 docker run依镜像运行容器实例 2、DockerFile构建过程解析 Dockerfile内容基础知识 1:每条保留字指令都必须为大写字母且后面要跟随至少一个参数 2:指令按照从上到下,顺序执行…

JavaScript Web APIs -03 事件流、事件委托、其他事件(加载、滚动、尺寸)

Web APIs - 03 文章目录 Web APIs - 03事件流捕获和冒泡阻止冒泡 事件委托其他事件页面加载事件元素滚动事件页面尺寸事件 元素尺寸与位置 进一步学习 事件进阶,实现更多交互的网页特效,结合事件流的特征优化事件执行的效率 掌握阻止事件冒泡的方法理解事…

爬虫逆向实战(二十八)--某税网第一步登录

一、数据接口分析 主页地址:某税网 1、抓包 通过抓包可以发现登录接口是factorAccountLogin 2、判断是否有加密参数 请求参数是否加密? 通过查看载荷模块可以发现有一个datagram 和 一个signature加密参数 请求头是否加密? 通过查看“标…

如何从ChatGPT中获得最佳聊天对话效果

从了解ChatGPT工作原理开始,然后从互动中学习,这是一位AI研究员的建议。 人们利用ChatGPT来撰写文章、论文、生成文案和计算机代码,或者仅仅作为学习或研究工具。然而,大多数人不了解它的工作原理或它能做什么,所以他…

excel怎么设置任意选一个单元格纵横竖横都有颜色

有时excel表格内容过多的时候,我们通过excel设置任意选一个单元格纵横,竖横背景颜色,这样会更加具有辨识度。设置方式截图如下 设置成功后,预览的效果图

如何修复 Cloudflare 错误 1015“您受到速率限制”

目录 错误 1015 您受到费率限制 如何修复错误 1015 您的速率受到限制 Cloudflare 降低用户活动速度 禁用网站的速率限制 擦除当前的速率限制设置 增加网站可以处理的请求数量 修改时间限制 增加带宽支持 网站优化 社区支持 为网站访问者提供无错误的体验 应该如何学…

无涯教程-Android - Spinner函数

Spinner允许您从下拉菜单中选择一个项目 例如。使用Gmail应用程序时,将显示如下所示的下拉菜单,您需要从下拉菜单中选择一个项目。 Spinner Example 示例 本示例演示计算机的类别,您需要从类别中选择一个类别。 以下是修改后的主要Activity文件src/com.example.spinner/Andr…

域内密码喷洒

在Kerberos阶段认证的AS-REQ阶段,请求包cname对应的值是用户名,当用户名存在时候,密码正确和错误两种情况下,AS-REP返回包不一样,所以可以利用这一点对域用户名进行密码喷洒攻击 域内密码喷洒工具 Kerbrute kerbrut…

顺序表链表OJ题(2)->【数据结构】

W...Y的主页 😊 代码仓库分享 💕 前言: 单链表的结构常常不完美,没有双向链表那么”优秀“,所以繁衍出很多OJ练习题。今天我们继续来look look数据结构习题。 下面就是OJ时间!!! …

Vue安装过程的困惑解答——nodejs和vue关系、webpack、vue-cli、vue的项目结构

文章目录 1、为什么在使用vue前要下载nodejs?2、为什么安装nodejs后就能使用NPM包管理工具?3、为什么是V8引擎并且使用C实现?4、为什么会安装淘宝镜像?5、什么是webpack模板?6、什么是脚手架 vue-cli?6.1 安…

9.1 消息 字体 颜色 文件对话框 发布软件

保存 void Widget::on_savebtn_clicked() {QString filename QFileDialog::getSaveFileName(this, "保存", "C:/Users/yc/Desktop/", "图片 (*.png *.xpm *.jpg);;文本 (*.txt);;所有文件 (*.*)");if(filename.isNull()){QMessageBox::informa…