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

本文主要是介绍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遍
  • 有错误请指出,作者会及时改正
  • 画工

这篇关于HCIA—— 16每日一讲:HTTP和HTTPS、无状态和cookie、持久连接和管线化、(初稿丢了,这是新稿,请宽恕我)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/616260

相关文章

Redis事务与数据持久化方式

《Redis事务与数据持久化方式》该文档主要介绍了Redis事务和持久化机制,事务通过将多个命令打包执行,而持久化则通过快照(RDB)和追加式文件(AOF)两种方式将内存数据保存到磁盘,以防止数据丢失... 目录一、Redis 事务1.1 事务本质1.2 数据库事务与redis事务1.2.1 数据库事务1.

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

Python如何实现 HTTP echo 服务器

《Python如何实现HTTPecho服务器》本文介绍了如何使用Python实现一个简单的HTTPecho服务器,该服务器支持GET和POST请求,并返回JSON格式的响应,GET请求返回请求路... 一个用来做测试的简单的 HTTP echo 服务器。from http.server import HT

Spring Boot实现多数据源连接和切换的解决方案

《SpringBoot实现多数据源连接和切换的解决方案》文章介绍了在SpringBoot中实现多数据源连接和切换的几种方案,并详细描述了一个使用AbstractRoutingDataSource的实... 目录前言一、多数据源配置与切换方案二、实现步骤总结前言在 Spring Boot 中实现多数据源连接

QT实现TCP客户端自动连接

《QT实现TCP客户端自动连接》这篇文章主要为大家详细介绍了QT中一个TCP客户端自动连接的测试模型,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录版本 1:没有取消按钮 测试效果测试代码版本 2:有取消按钮测试效果测试代码版本 1:没有取消按钮 测试效果缺陷:无法手动停

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

hdu1565(状态压缩)

本人第一道ac的状态压缩dp,这题的数据非常水,很容易过 题意:在n*n的矩阵中选数字使得不存在任意两个数字相邻,求最大值 解题思路: 一、因为在1<<20中有很多状态是无效的,所以第一步是选择有效状态,存到cnt[]数组中 二、dp[i][j]表示到第i行的状态cnt[j]所能得到的最大值,状态转移方程dp[i][j] = max(dp[i][j],dp[i-1][k]) ,其中k满足c

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码