HCIA—— 16每日一讲:HTTP和HTTPS、无状态和cookie、持久连接和管线化、(初稿丢了,这是新稿,请宽恕我)
学习目标:
- HTTP和HTTPS、无状态和cookie、持久连接和管线化、HTTP的报文、URI和URL(初稿丢了,这是新稿,请宽恕我😶🌫️)
学习内容:
- HTTP
- 无状态和cookie
- HTTPS
- 持久连接和管线化
目录
学习目标:
学习内容:
1.HTTP和HTTPS
1)HTTP 是什么?详细描述⼀下
无状态——不保存
2.1)HTTPS
2 )持久连接
3)管线化
4)Http与Https的区别:
学习时间:
学习产出:
1.HTTP和HTTPS
1)HTTP 是什么?详细描述⼀下
HTTP是一种网络协议,全称为HyperText Transfer Protocol,即超文本传输协议。它是互联网上应用最为广泛的一种网络协议,用于在Web上进行数据交换。HTTP协议是一种“客户端-服务器端”协议,请求通常是由像浏览器这样的接受方发起的。一个完整的Web文档通常是由不同的子文档拼接而成的,像是文本、布局描述、图片、视频、脚本等等。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
HTTP协议历史与标准如下:
- HTTP/0.9:1991年制定,有严重设计缺陷,只支持GET方法,不支持MIME类型,很快被HTTP/1.0取代。
- HTTP/1.0:1996年制定,支持多种请求方法,支持多媒体对象,得到广泛应用。
- HTTP/1.0+:支持持久连接、虚拟主机、代理连接等新特性,成为非官方的事实标准。
2)HTTP的无状态——解决用cookie
无状态——不保存
3)用cookie状态管理——cookie为报文首部的其他字段
cookie的工作原理
服务器
保存请求,生成Cookie记住是向谁发送的
在响应中添加Cookie后返回响应
服务器
请求中添加Cookie后发送
服务器
检查Cookie
2.1)HTTPS
HTTPS协议
HTTPS是一种加密的通信协议,用于在Web浏览器和服务器之间安全地传输数据。它通过使用SSL/TLS协议对传输的数据进行加密,以保护数据的机密性和完整性。
HTTPS协议由以下几个部分组成:
- 协议版本:HTTPS使用的是HTTP协议的版本1.1,它支持请求/响应模型,其中客户端向服务器发送请求,服务器返回响应。
- 加密套件:SSL/TLS协议使用加密套件来对传输的数据进行加密和解密。加密套件包括密钥交换算法、加密算法和消息摘要算法。
- 证书:为了验证服务器的身份,HTTPS使用数字证书来证明服务器的合法性。数字证书由权威证书颁发机构(CA)颁发,包含了服务器的公钥和相关信息。—SSL证书
- 通信过程:HTTPS使用TCP作为传输层协议,通过三次握手建立安全连接。在安全连接建立后,客户端和服务器之间使用SSL/TLS协议进行加密通信。
使用HTTPS协议可以保护用户数据的机密性和完整性,防止数据被窃取或篡改。此外,它还可以防止中间人攻击,确保数据传输的安全性。因此,在互联网上传输敏感数据时,应该使用HTTPS协议。
HTTPS是一种通信协议,用于在互联网上安全地传输数据。它通过使用SSL/TLS协议来加密数据传输,从而保护数据的机密性和完整性。以下是对HTTPS的更详细描述:
HTTPS由两部分组成:HTTP和SSL/TLS协议。HTTP是超文本传输协议,用于在互联网上传输网页内容。SSL/TLS协议是一组安全协议,用于加密数据传输。
当一个网站使用HTTPS协议时,它会在客户端和服务器之间建立一条安全的加密通道。这条通道可以防止数据在传输过程中被窃取或篡改。通过使用HTTPS,网站可以保护用户的个人信息、交易数据和敏感信息等。
HTTPS还提供了身份验证机制,确保客户端与真正的服务器进行通信,而不是与假冒的服务器通信。通过使用SSL/TLS协议,HTTPS可以验证服务器的身份,确保客户端与正确的服务器进行通信。
HTTPS的使用已经成为互联网上许多应用程序的必要条件。例如,在线银行、在线购物、社交媒体等应用程序都需要使用HTTPS来保护用户的数据和隐私。许多浏览器也要求网站使用HTTPS协议,以确保用户数据的安全性。
总之,HTTPS是一种重要的安全通信协议,它可以保护数据的机密性和完整性,并提供身份验证机制来确保客户端与真正的服务器进行通信。随着互联网的发展和人们对数据安全的需求不断增加,HTTPS的使用将越来越广泛。
2 )持久连接
HTTP 协议的初始版本中,每进行一次HTTP通信就要断开一次TCP 连接。以当年的通信情况来说,因为都是些容量很小的文本传输,所以即使这样也没有多大问题。可随着 HTTP 的普及,文档中包含大量图片的情况多了起来。
比如,使用浏览器浏览一个包含多张图片的HTML页面时,在发送请求访问 HTML 页面资源的同时,也会请求该 HTML 页面里包含的其他资源。因此,每次的请求都会造成无谓的TCP 连接建立和断开,增加通信量的开销。
为解决上述 TCP 连接的问题,HTTP/1.1 和一部分的 HTTP/1.0 想出了持久连接(HTTP Persistent Connections,也称为 HTTP keep-alive 或HTTP connection reuse)的方法。持久连接的特点是,只要任意一端没有明确提出断开连接,则保持TCP连接状态。
持久连接旨在建立1次TCP连接后进行多次请求和响应的交互
持久连接的好处在于减少了 TCP 连接的重复建立和断开所造成的额外开销,减轻了服务器端的负载。另外,减少开销的那部分时间,使HTTP 请求和响应能够更早地结束,这样 Web 页面的显示速度也就相应提高了。
在 HTTP/1.1 中,所有的连接默认都是持久连接,但在 HTTP/1.0 内并未标准化。虽然有一部分服务器通过非标准的手段实现了持久连接,
但服务器端不一定能够支持持久连接。毫无疑问,除了服务器端,客户端也需要支持持久连接。
双向连接——双方支持
3)管线化
持久连接使得多数请求以管线化(pipelining)方式发送成为可能。
从前发送请求后需等待并收到响应,才能发送下一个请求。管线化技术出现后,不用等待响应亦可直接发送下一个请求。
这样就能够做到同时并行发送多个请求,而不需要一个接一个地等待响应了。
比如,当请求一个包含 10 张图片的 HTML Web 页面,与挨个连接相比,用持久连接可以让请求更快结束。而管线化技术则比持久连接还要快。请求数越多,时间差就越明显。
不等待响应,直接发送下一个请求
4)Http与Https的区别:
HTTP和HTTPS的区别
HTTP和HTTPS是互联网上两种常见的通信协议,它们在安全性、传输方式和数据传输上有显著的区别。
- 安全性:HTTP是明文传输的,数据在传输过程中可能会被截获或窃取。而HTTPS则对数据进行了加密处理,使用的是SSL/TLS协议,保证数据在传输过程中的安全。
- 传输方式:HTTP是面向非连接的协议,也就是说,请求和响应之间的通信是不需要建立连接的。而HTTPS则是一种面向连接的协议,通信双方需要在开始传输数据之前先建立一个连接。
- 数据传输:HTTP的数据传输是基于TCP的,而HTTPS的数据传输则是基于SSL/TLS的。
下面我们通过一个简单的例子来进一步理解HTTP和HTTPS的区别。
假设你正在使用浏览器访问一个网站,这个网站使用的是HTTP协议。当你输入网址并按下回车键时,你的浏览器会向这个网站发送一个请求,这个请求可能包含一些敏感信息,比如你的IP地址、浏览器类型等等。由于HTTP是明文传输的,所以这个请求信息可能会被其他人截获。
如果这个网站使用的是HTTPS协议,那么情况就会有所不同。当你输入网址并按下回车键时,你的浏览器会向这个网站发送一个请求,这个请求同样包含一些敏感信息。但是,由于HTTPS对数据进行了加密处理,所以这个请求信息在传输过程中会被加密,其他人即使截获了这个请求,也无法获取其中的敏感信息。
总之,HTTP和HTTPS的主要区别在于安全性、传输方式和数据传输上。在使用互联网服务时,为了保护自己的隐私和安全,建议选择使用HTTPS协议的网站和服务。
Http与Https的区别
在互联网的早期,HTTP协议被广泛使用,为全球的万维网提供动力。然而,随着互联网的发展和我们对安全需求的增加,HTTPS协议诞生了,作为HTTP的安全版本,它在许多关键方面与HTTP存在差异。
首先,HTTP是一个明文协议,这意味着数据在传输过程中没有经过加密,任何截获数据的人都可以查看其内容。相比之下,HTTPS使用SSL/TLS协议对数据进行加密,确保数据在传输过程中不被窃取或篡改。
其次,HTTPS需要使用到SSL证书,这是一种由权威证书颁发机构(CA)颁发的数字证书,用于验证网站的身份。而HTTP则没有这种验证机制,因此,使用HTTP连接可能会遇到“不安全”的警告。
再者,HTTPS对于数据完整性也有更好的保障。由于数据在传输过程中经过加密,因此可以防止数据被篡改,确保数据的完整性和真实性。
总结来说,HTTP与HTTPs的主要区别在于安全性。HTTP在传输过程中不提供任何加密或身份验证,而HTTPS则通过SSL/TLS协议和SSL证书提供加密和身份验证,确保数据的安全性和完整性。随着人们对网络安全意识的提高,HTTPS协议的使用越来越广泛,已经成为现代互联网的基石。
注:SSL(Secure Sockets Layer,安全套接层)和TLS(Transport Layer Security,传输层安全)
Http与Https的区别:
1.HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头
2.HTTP 是不安全的,而 HTTPS 是安全的
3.HTTP 标准端口是80 ,而 HTTPS 的标准端口是443
4.在OSI 网络模型中,HTTP工作于应用层,而HTTPS 的安全传输机制工作在传输层
5.HTTP 无法加密,而HTTPS 对传输的数据进行加密
6.HTTP无需证书,而HTTPS 需要CA机构颁发的SSL证书
学习时间:
上课时
学习产出:
- 技术笔记 1遍
- 有错误请指出,作者会及时改正
-
画工
-
相关文章:

HCIA—— 16每日一讲:HTTP和HTTPS、无状态和cookie、持久连接和管线化、(初稿丢了,这是新稿,请宽恕我)
学习目标: HTTP和HTTPS、无状态和cookie、持久连接和管线化、HTTP的报文、URI和URL(初稿丢了,这是新稿,请宽恕我😶🌫️) 学习内容: HTTP无状态和cookieHTTPS持久连接和管线化 目…...

使用JavaScript实现一个复杂功能:日期范围选择器
日期范围选择器是一个常见的Web应用功能,它允许用户选择一个日期范围。在本篇文章中,我们将使用JavaScript来实现这个功能。 一、实现思路 创建一个开始日期输入框和一个结束日期输入框。 添加事件监听器,监听开始日期输入框和结束日期输入…...

[C#]winform部署openvino调用padleocr模型
【官方框架地址】 https://github.com/PaddlePaddle/PaddleOCR 【算法介绍】 OpenVINO和PaddleOCR都是用于计算机视觉应用的工具,但它们有不同的特点和用途。OpenVINO是一个由Intel开发的开源工具套件,主要用于加速深度学习推理,而PaddleOC…...

【docker-compose】【nginx】内网环境https配置
目录 1、openssl生成自签名证书和私钥2、nginx.conf配置ssl3、docker-compose挂载 1、openssl生成自签名证书和私钥 在部署服务器上,新建cert目录,执行以下指令,然后生成.crt和.key文件 openssl req -newkey rsa:2048 -nodes -keyout rsa_pri…...

大语言模型无代码构建知识图谱概述
2023年3月15日,ChatGPT4.0的横空出世,将人们对大语言模型的关注推到了风口浪尖。由于其在智能问答、翻译以及文本生成等工作任务上的卓越表现,业界一度出现了不再需要发展知识图谱相关技术的观点,知识图谱相关概念严重受挫。无可置…...

链表回文结构
链表回文结构 编写一个函数,检查输入的链表是否是回文的。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 链表的回文结构,应该先找到中间节…...

MyBatis框架基础到进阶
1、为什么要学习MyBatis 如果没有MyBatis框架,我们依靠JDBC和连接池已经能够很好的和数据库进行交互了,而学习MyBatis框架最核心的原因是为了减少SQL语句对代码的侵入性。 因为在过往不管是使用连接池还是JDBC Templete,所有的SQL语句都写在代…...

【答案】2023年国赛信息安全管理与评估正式赛答案-模块1任务一
1.根据网络拓扑图所示,按照IP 地址规划表,对防火墙的名称、各接口IP 地址进行配置。共8 分,每错1 处(行)扣1 分,扣完为止。地址、安全域、接口(状态为UP)、名称都正确。 2.根据网络…...

【REMB 】翻译:草案remb-03
REMB REMB消息 以及 绝对时间戳选项 在带宽估计中的使用 :an absolute-value timestamp option for use in bandwidth estimatoin. 接收方带宽估计的RTCP消息 REMB 这位大神翻译的更好。 RTCP message for Receiver Estimated Maximum Bitrate draft-alvestrand-rmcat-remb-03…...

力扣(leetcode)第830题较大分组的位置(Python)
830.较大分组的位置 题目链接:830.较大分组的位置 在一个由小写字母构成的字符串 s 中,包含由一些连续的相同字符所构成的分组。 例如,在字符串 s “abbxxxxzyy” 中,就含有 “a”, “bb”, “xxxx”, “z” 和 “yy” 这样的…...

【导航】繁星学习随想录
导航:繁星学习随想录 一、编程启示录 01 数据结构漫谈 序号博文名称/链接01扁扁笨算法-AVL树的插入与删除02扁扁笨算法-B树的插入与删除 02 概念小扫盲 序号博文名称/链接01简单理解决策树_如何理解决策树的生长过程-CSDN博客02白盒测试方法与黑盒测试方法简析…...

Oracle 隐式数据类型转换
目录 Oracle类型转换规则: 看如下实验: 1、创建一张表,字段id的类型为number,id字段创建索引,插入一条测试数据 2、我们做如下查询,id的值设置为字符型的1 3、查看执行计划: Oracle类型转换…...

压缩编码之不同缩放参数对重建图像质量的影响的python实现——JPEG变换编码不同压缩率的模拟
原理 JPEG(Joint Photographic Experts Group)是一种常用的图像压缩标准,它通过采用离散余弦变换(DCT)和量化来实现图像的压缩。 离散余弦变换(DCT): JPEG首先将图像分割成8x8的块…...

大数据导论(2)---大数据与云计算、物联网、人工智能
文章目录 1. 云计算1.1 云计算概念1.2 云计算的服务模式和类型1.3 云计算的数据中心与应用 2. 物联网2.1 物联网的概念和关键技术2.2 物联网的应用和产业2.3 大数据与云计算、物联网的关系 1. 云计算 1.1 云计算概念 1. 首先从商业角度给云计算下一个定义:通过网络…...

有序矩阵中第 K 小的元素
题目链接 有序矩阵中第 K 小的元素 题目描述 注意点 每行和每列元素均按升序排序找到一个内存复杂度优于 O(n) 的解决方案 解答思路 使用二分查找,思路为: (1)因为左上角的元素值更小,右下角的元素值更大…...

Nginx详细介绍(并从技术层面深度剖析)
nginx介绍 1.nginx 介绍2.nginx的优势3.Nginx VS Apache3.1.内核、语言、诞生时间比较3.2.功能比较3.3.Nginx 相对 apache 的优点 4.Nginx为什么有这么多的优势?4.1.IO多路复用(I/O multiplexing【多并发】)4.2.nginx的驱动模型介绍4.3.nginx…...

单元测试基本概念
单元测试一般是开发来做的,但是因为业务需要也曾涉及过单元测试。目前就单元测试的基础概念做下总结。 一、 单元测试定义: 单元测试是软件开发中的一种测试方法,用于验证程序中的最小可测单元——即代码中的单个函数、方法或模块。单元测试…...

ECTouch 电商微信小程序 SQL注入漏洞复现(CVE-2023-39560)
0x01 产品简介 ECTouch是一款开源的电商系统,为中小企业提供最佳的新零售解决方案 0x02 漏洞概述 ECTouch 电商系统 /ectouch-main/include/apps/default/helpers/insert.php 文件中第285行的 insert_bought_notes 函数中,传入的 $arr[id] 参数未进行验证和过滤,导致未经…...

MCM备赛笔记——熵权法
Key Concept 熵权法是一种基于信息熵概念的权重确定方法,用于多指标决策分析中。信息熵是度量信息量的不确定性或混乱程度的指标,在熵权法中,它用来反映某个指标在评价过程中的分散程度,进而确定该指标的权重。指标的分散程度越高…...

vscode设置terminal的最大行数
今天跑代码出现一个问题,就是整个程序跑完,整个程序的输出信息过多,最开始输出的信息已经被vscode的缓存冲掉了,只能看到最后的一部分,具体的原因是vscode的terminal默认只能保存1000行的信息,所以如果想保…...

kafka hang 问题记录
参考文档 https://cloud.tencent.com/developer/article/1821477 9092端口 端口9092通常与Apache Kafka关联。 Kafka是一个开源的分布式事件流平台,用于构建实时的数据管道和流应用。 它能够处理任意大小的数据,以容错的方式处理数据流。 在默认配置…...

Jmeter-BeanShell脚本中for循环里面使用random随机数函数,每次生成的都一样
预想的是每次循环生成的随机数不一样,但实际使用Random函数生成的是重复的。 以下是部分原代码: List updateList new ArrayList(); for(Object o: fieldList){Map map new HashMap();map.put("id", o.get("id"));map.put("…...

高级编程。JavaScript中有哪些类型转换机制?
一、概述 前面我们讲到,JS中有六种简单数据类型:undefined、null、boolean、string、number、symbol,以及引用类型:object 但是我们在声明的时候只有一种数据类型,只有到运行期间才会确定当前类型 let x y ? 1 : …...

Linux系统下常用软件安装汇总,包括mysql,java,git,redis等
01.环境搭建 1.安装列表 MySQL 5.7.11 Java 1.8 Apache Maven 3.6 tomcat8.5 git Redis Nginx python docker 2.安装mysql 1.拷贝mysql安装文件到Linux的某个目录下 2.解压Linux安装包:tar -xvzf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz 3.进入解压后…...

【Linux】——期末复习题(一)
🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:…...

【论文阅读】Speech Driven Video Editing via an Audio-Conditioned Diffusion Model
DiffusionVideoEditing:基于音频条件扩散模型的语音驱动视频编辑 code:GitHub - DanBigioi/DiffusionVideoEditing: Official project repo for paper "Speech Driven Video Editing via an Audio-Conditioned Diffusion Model" paper&#…...

【华为 ICT HCIA eNSP 习题汇总】——题目集4
1、(多选)网络中出现故障后,管理员通过排查发现某台路由器的配置被修改了,那么管理员应该采取哪些措施来避免这种状况再次发生? A、管理员应该通过配置 ACL 来扩展只有管理员能够登录设备 B、管理员应该在路由的管理端…...

hadoop-common: CMake failed with error code 1
问题 在编译hadoop源码时遇到如下错误 hadoop-common: CMake failed with error code 1 看了这个错误表示一脸懵逼 排查 在mvn 的命令中增加 -X 和 -e mvn clean package -e -X -Pdist,native -DskipTests -Dmaven.javadoc.skip -Dopenssl.prefix/usr/local/bin/openssl 在…...

【面试】-科大讯飞日常实习面试
科大讯飞日常实习面试 提问的问题 面试30min,基本就是介绍项目以及提问java八股文,没有算法题 java保证线程安全的方法 需要根据具体场景选择合适的方法来保证线程安全。java中的异步请求如何实现你的SpringBoot项目怎么匹配在线人数请说出spring springMVC springboot之间的…...

MySQL 数据加密
MySQL 数据加密主要用于保护存储在数据库中的敏感信息,如用户密码、个人身份信息等。MySQL 提供了多种数据加密方法,主要包括: 对称加密: AES_ENCRYPT() 和 AES_DECRYPT() 函数:MySQL 支持使用高级加密标准(…...