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

相关文章

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

Python中连接不同数据库的方法总结

《Python中连接不同数据库的方法总结》在数据驱动的现代应用开发中,Python凭借其丰富的库和强大的生态系统,成为连接各种数据库的理想编程语言,下面我们就来看看如何使用Python实现连接常用的几... 目录一、连接mysql数据库二、连接PostgreSQL数据库三、连接SQLite数据库四、连接Mo

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

oracle如何连接登陆SYS账号

《oracle如何连接登陆SYS账号》在Navicat12中连接Oracle11g的SYS用户时,如果设置了新密码但连接失败,可能是因为需要以SYSDBA或SYSOPER角色连接,解决方法是确保在连接... 目录oracle连接登陆NmOtMSYS账号工具问题解决SYS用户总结oracle连接登陆SYS账号

Python实现文件下载、Cookie以及重定向的方法代码

《Python实现文件下载、Cookie以及重定向的方法代码》本文主要介绍了如何使用Python的requests模块进行网络请求操作,涵盖了从文件下载、Cookie处理到重定向与历史请求等多个方面,... 目录前言一、下载网络文件(一)基本步骤(二)分段下载大文件(三)常见问题二、requests模块处理

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

关于rpc长连接与短连接的思考记录

《关于rpc长连接与短连接的思考记录》文章总结了RPC项目中长连接和短连接的处理方式,包括RPC和HTTP的长连接与短连接的区别、TCP的保活机制、客户端与服务器的连接模式及其利弊分析,文章强调了在实... 目录rpc项目中的长连接与短连接的思考什么是rpc项目中的长连接和短连接与tcp和http的长连接短

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一