HCIA—— 16每日一讲:HTTP和HTTPS、无状态和cookie、持久连接和管线化、(初稿丢了,这是新稿,请宽恕我)

学习目标:

  • HTTP和HTTPS、无状态和cookie、持久连接和管线化、HTTP的报文、URI和URL(初稿丢了,这是新稿,请宽恕我😶‍🌫️)

学习内容:

  1. HTTP
  2. 无状态和cookie
  3. HTTPS
  4. 持久连接和管线化

目录

学习目标:

学习内容:

 1.HTTP和HTTPS

1)HTTP 是什么?详细描述⼀下

2)HTTP的无状态——解决用cookie

无状态——不保存

3)用cookie状态管理——cookie为报文首部的其他字段

cookie的工作原理

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协议由以下几个部分组成:

  1. 协议版本:HTTPS使用的是HTTP协议的版本1.1,它支持请求/响应模型,其中客户端向服务器发送请求,服务器返回响应。
  2. 加密套件:SSL/TLS协议使用加密套件来对传输的数据进行加密和解密。加密套件包括密钥交换算法、加密算法和消息摘要算法。
  3. 证书:为了验证服务器的身份,HTTPS使用数字证书来证明服务器的合法性。数字证书由权威证书颁发机构(CA)颁发,包含了服务器的公钥和相关信息。—SSL证书
  4. 通信过程: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是互联网上两种常见的通信协议,它们在安全性、传输方式和数据传输上有显著的区别。

  1. 安全性:HTTP是明文传输的,数据在传输过程中可能会被截获或窃取。而HTTPS则对数据进行了加密处理,使用的是SSL/TLS协议,保证数据在传输过程中的安全。
  2. 传输方式:HTTP是面向非连接的协议,也就是说,请求和响应之间的通信是不需要建立连接的。而HTTPS则是一种面向连接的协议,通信双方需要在开始传输数据之前先建立一个连接。
  3. 数据传输: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协议的使用越来越广泛,已经成为现代互联网的基石。

注:SSLSecure Sockets Layer,安全套接层)TLSTransport 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遍
  • 有错误请指出,作者会及时改正
  • 画工

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

流量控制与熔断利器:Sentinel介绍

这是《百图解码支付系统设计与实现》专栏系列文章中的第(19)篇,也是流量控制系列的第(6)篇。点击上方关注,深入了解支付系统的方方面面。 本篇聊聊流量控制与熔断利器Sentinel,背后的原理&…

分享行政检察院法律监督模型的构建价值和运用范式

数字检察是检察工作现代化的重要依托。在数字化时代背景下,行政检察监督办案要深入推进检察大数据战略,推动办案模式从“个案为主、数量驱动”向“类案为主、数据赋能”转变,通过数据分析、数据碰撞、数据挖掘发现治理漏洞或者监督线索&#…

项目上线存在的缓存问题以及存在的debugger和console.log等问题

下载uglifyjs-webpack-plugin插件 在vue.config文件中进行配置 publicPath: process.env.NODE_ENV production ? ./ : /,outputDir: n-sim-ipc-manage-build,productionSourceMap: false,configureWebpack: config > {//打包文件增加hashconfig.output.filename js/[nam…

大模型日报-20240120

这里写目录标题 视觉Mamba来了:速度提升2.8倍,内存能省87%一键实景转动画,清华系初创公司全球首发4D骨骼动画框架,还能生成个性化角色如何利用革命性的蛋白质结构工具来发现药物?AlphaFold 发现了数千种可能的致幻剂扎…

IPFoxy运营干货|谷歌广告Google Ads建立广告需要注意什么?

编辑投放谷歌广告需要多少个步骤和什么准备工作,本文将来讲述,主要分5个内容:一、投放前竞对研究;二、投放前广告账户设置;三、建立广告系列;四、建立广告组;五、广告长期策略。接下来我们来开始…

Python 面向对象绘图(Matplotlib篇-16)

Python 面向对象绘图(Matplotlib篇-16)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

链表存数相加算法(leetcode第2题)

题目描述: 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这…

无偿分享一个很有用的看源码小技巧

怎么在 idea 里面查看 git 提交记录呢?这个界面是藏在哪里的呢,我的 idea 里面怎么没有呢? 好的,是我疏忽了,我先入为主的认为这个大家应该都知道是怎么来的。 但是确实是有一些同学是不太清楚的,那我这篇…

大数据导论(2)---大数据与云计算、物联网、人工智能

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

C#调用C++ dll异常排查

基本情况 最近在做的一款程序,长时间运行总会出现莫名的问题。有时是自动关闭,有时程序报错,有时调用的dll异常…… 提出假设——dll内存泄漏 由于开始与C组合作时,使用其提供的dll出现过数据读写时异常(内存操作异常…

Leetcoder Day9|栈与队列part01

语言:Java/C 目录 理论基础 C 栈 队列 Java 栈 队列 ​编辑 232.用栈实现队列 225. 用队列实现栈 Queue Deque 今日心得 理论基础 又是考研时数据结构里接触到的老朋友,栈是先进后出,队列是先进先出。 C 现在刷题除了思路还…

CHAPTER 11: 《DESIGN A NEWS FEED SYSTEM》 第 11 章:《设计新闻系统》

在本章中,您将被要求设计一个新闻提要系统。什幺是新闻系统?根据Facebook 页面,“News feed 是中间不断更新的故事列表。您的主页。动态消息包括状态更新、照片、视频、链接、应用活动记录和喜欢您在 Facebook 上关注的人、页面和群组“[1]。…

linux C语言socket函数send

在Linux中,使用C语言进行网络编程时,send函数是用于发送数据到已连接的套接字的重要函数之一。它通常用于TCP连接,但也可以用于UDP(尽管对于UDP,通常更推荐使用sendto,因为它允许你指定目标地址和端口&…

插入排序(一)——直接插入排序与希尔排序

目录 一.前言 二.排序的概念及其运用 1.1排序的概念 1.2 常用排序算法 三.常用排序算法的实现 3.1 插入排序 3.1.1 基本思想 3.1.2 直接插入排序 3.1.3 希尔排序(缩小增量排序) 四.全部代码 sort.c sort.h test.c 五.结语 一.前言 本文我们…

SpringBoot 3.1.7 集成Mybatis

一、介绍 Mybatis的中文官网并没找到与SpringBoot最新的集成的教程,有的都是老式的配置方法,所以记录一下怎么我是怎么集成SpringBoot 3.1.7 集成Mybatis 的方法 有条件的可以打开源网站 https://github.com/mybatis/spring-boot-starter 没有条件的我…

虚拟机下载docker

一,Docker简介 百科说:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制&#xff…

GetShell的姿势

0x00 什么是WebShell 渗透测试工作的一个阶段性目标就是获取目标服务器的操作控制权限,于是WebShell便应运而生。Webshell中的WEB就是web服务,shell就是管理攻击者与操作系统之间的交互。Webshell被称为攻击者通过Web服务器端口对Web服务器有一定的操作权…

nodejs前端项目的CI/CD实现(二)jenkins的容器化部署

一、背景 docker安装jenkins,可能你会反问,这太简单了,有什么好讲的。 我最近就接手了一个打包项目,它是一个nodejs的前端项目,jenkins已在容器里部署且运行OK。 但是,前端组很追求新技术,不…

【STM32】STM32学习笔记-I2C通信外设(34)

00. 目录 文章目录 00. 目录01. I2C简介02. I2C外设简介03. I2C框图04. I2C基本结构05. 主机发送06. 主机接收07. 软件/硬件波形对比08. 预留09. 附录 01. I2C简介 I2C(Inter-Integrated Circuit)总线是一种由NXP(原PHILIPS)公司开发的两线式…

Web3艺术市场:NFT与数字创作的结合

在数字时代,随着区块链技术的崛起,一种新型数字资产,非同质化代币(NFT),正逐渐改变传统艺术市场的格局。这种数字化的艺术品售卖方式成为了Web3艺术市场的代表,推动着数字创作与艺术市场的结合。…