【计网】02.HTTPS、GET和POST
【嵌入式八股】一、语言篇https://www.nowcoder.com/creation/manager/columnDetail/mwQPeM
【嵌入式八股】二、计算机基础篇(本专栏)https://www.nowcoder.com/creation/manager/columnDetail/Mg5Lym
【嵌入式八股】三、硬件篇https://www.nowcoder.com/creation/manager/columnDetail/MRVDlM
【嵌入式八股】四、嵌入式Linux篇https://www.nowcoder.com/creation/manager/columnDetail/MQ2bb0
HTTPS/SSL/TLS
28.HTTPS是什么?
HTTPS(Hypertext Transfer Protocol Secure)是一种安全的 HTTP 协议,用于在网络上安全地传输数据。它使用 SSL 或 TLS 协议对传输的数据进行加密和认证,以保证数据的机密性和完整性。
29.什么是对称和非对称加密?:orange:
对称加密是指加密和解密使用同一个密钥的加密方式。在对称加密中,加密和解密的过程都使用相同的密钥,因此密钥需要在通信双方之间共享。对称加密的优点是加解密速度快,但密钥共享的过程容易被黑客攻击,因此安全性相对较低。 常见的对称加密算法有DES、3DES、AES等。
非对称加密是指加密和解密使用不同密钥的加密方式。在非对称加密中,加密和解密的过程使用不同的密钥,其中一个密钥是公开的,被称为公钥,用于加密数据;另一个密钥是私有的,只有密钥持有人知道,称为私钥,用于解密数据。因此,非对称加密可以实现更高的安全性。常见的非对称加密算法有RSA、DSA、ECC等。
非对称加密的加解密速度相对比较慢,因此在实际应用中通常使用对称加密和非对称加密的混合方式来实现数据的加密和解密,从而兼顾安全性和效率。
30.对称密钥加密的优点缺点?
对称密钥加密(Symmetric-Key Encryption),加密和解密使用同一密钥。
优点:
- 速度快:对称密钥加密算法的加解密速度很快,适合大数据量的加密和解密操作。
- 简单易用:对称密钥加密算法的实现比较简单,加密和解密的操作流程也相对容易理解。
- 资源消耗少:对称密钥加密算法的加解密过程需要的计算资源较少,能够在较低配置的设备上运行。
缺点:
- 密钥管理困难:对称密钥加密算法需要使用相同的密钥进行加解密,因此密钥的管理和分发是一个重要的问题,容易被黑客攻击和窃取。
- 安全性差:对称密钥加密算法容易受到中间人攻击和密码猜测攻击,安全性较低。
- 无法实现数字签名:对称密钥加密算法无法实现数字签名和认证,无法确定数据是否被篡改和发送者是否合法。
31.非对称密钥加密你了解吗?优缺点?
非对称密钥加密,又称公开密钥加密(Public-Key Encryption),加密和解密使用不同的密钥。
公开密钥所有人都可以获得,通信发送方获得接收方的公开密钥之后,就可以使用公开密钥进行加密,接收方收到通信内容后使用私有密钥解密。
优点:
- 安全性高:非对称密钥加密算法采用公钥加密,私钥解密,公钥可以公开发布,私钥只有密钥的拥有者才能使用,可以防止被黑客攻击和窃取。
- 能够实现数字签名:非对称密钥加密算法可以实现数字签名和认证,可以确定数据是否被篡改和发送者是否合法。
- 密钥管理方便:非对称密钥加密算法只需要管理和保护私钥即可,公钥可以公开发布,密钥管理相对简单。
缺点:
- 加密速度慢:非对称密钥加密算法加解密速度较慢,不适合加密大数据量的信息。
- 算法复杂:非对称密钥加密算法的实现比较复杂,对计算资源要求较高。
- 安全性依赖于密钥长度:非对称密钥加密算法的安全性依赖于密钥长度,密钥长度越长,安全性越高,但密钥长度过长会增加计算复杂度和传输时间。
32.HTTPS采用的加密方式有哪些?是对称还是非对称?:heart:
HTTPS是什么?加密原理和证书。SSL/TLS握手过程_哔哩哔哩_bilibili
HTTPS采用的加密方式通常是对称加密和非对称加密的混合使用,首先使用非对称加密算法交换对称加密算法所使用的密钥,然后使用对称加密算法对数据进行加密和解密。
需要注意的是,HTTPS采用的加密方式是与所使用的证书有关的。证书中包含了加密算法的相关信息,客户端和服务器端通过证书来协商使用的加密方式。在建立HTTPS连接时,客户端会向服务器端发送一个“客户端协商列表”,该列表中包含了客户端支持的加密算法。服务器端从列表中选择一种加密算法,并将该算法的相关信息作为证书的一部分发送给客户端,客户端使用该算法进行加密和解密。
33.如何保证公钥不被篡改?
公钥的安全性是非对称加密算法的关键,因为如果公钥被篡改,加密数据就无法被正确解密,从而导致加密通信的失败。为了保证公钥的安全性,通常采取以下措施:
- 数字证书:数字证书是一个由数字证书机构颁发的包含公钥信息和数字签名的电子文档,用于证明公钥的真实性和可信度。通信双方可以通过验证数字证书的签名和有效期来确定公钥是否被篡改。
- 公钥基础设施(PKI):PKI 是一种用于管理数字证书和公钥的体系结构,包括证书颁发机构、注册机构和证书撤销机构等组成部分,可以保证公钥的安全和可靠性。
- 安全传输:在传输公钥时,应该采用安全的传输方式,如 HTTPS 等,可以使用 SSL/TLS 协议进行加密传输,保证公钥的机密性和完整性。
34.请你来说一下数字证书是什么,里面都包含哪些内容?:heart:
SSL中的认证中的证书是什么?了解过吗?
数字证书是一种用于验证身份和安全通信的数字文件。它通常由第三方机构(证书颁发机构或CA数字证书认证机构)颁发,用于证明某个实体(例如个人、组织或网站)的身份。数字证书包含以下内容:
- 公钥:数字证书中包含一个公钥用于加密数据。
- 所有者信息:数字证书中包含所有者的信息,例如名称、电子邮件地址和组织名称等。
- 证书颁发机构信息:数字证书中包含颁发证书的证书颁发机构(CA)的信息,例如名称和数字签名等。
- 有效期:数字证书中包含证书的有效期,即证书颁发日期和过期日期。
- 数字签名:数字证书中包含证书颁发机构使用其私钥对证书进行数字签名的信息,以便验证证书的真实性和完整性。
35.什么是SSL/TLS ?
SSL (Secure Sockets Layer) 安全套接字层和 TLS (Transport Layer Security) 安全传输层协议,都是用于保护通信安全的协议,TLS 是 SSL 的继任者(SSL 协议在 1999 年被更新并更名为 TLS 协议。TLS 和 SSL 的工作原理类似,但存在一些细微的差别)。SSL 和 TLS 协议通过使用加密算法来保护通信的机密性和完整性,防止被窃听、篡改或伪造。
SSL/TLS 协议通常应用在 Web 安全领域,用于保护 HTTP、SMTP、POP3 等协议的通信。SSL/TLS 协议通过公钥加密、对称密钥加密、数字签名等技术来实现通信的安全保障。
SSL/TLS 协议分为两个层次:SSL/TLS 记录协议和 SSL/TLS 握手协议。SSL/TLS 记录协议负责对数据进行加密和解密,并提供数据完整性检查和压缩功能。SSL/TLS 握手协议则负责在客户端和服务器之间进行身份验证和密钥协商。
SSL/TLS 协议具有以下特点:
- 安全性:通过使用加密算法、数字证书等技术来确保通信的机密性和完整性。
- 可靠性:通过提供数据完整性检查、压缩和错误校验等机制来保证通信的可靠性。
- 灵活性:可以根据不同的应用场景和需求来配置加密算法和密钥长度等参数。
- 兼容性:支持多种加密算法和密钥长度,并与各种网络协议兼容。
36.HTTPS是如何保证数据传输的安全,整体的流程是什么?:heart:
https建立连接过程是什么?
SSL是怎么工作保证安全的
SSL握手的基本过程
HTTPS 通过使用 SSL/TLS 协议来保证数据传输的安全,(其实就是非对称加密算法rsa原理)其整体的流程如下:
- 客户端向服务器发起 HTTPS 请求(SSL 请求,请求建立 SSL 连接)。
- 服务器返回数字证书,证书中包含服务器公钥、证书颁发机构信息和证书有效期等信息。
- 客户端使用内置的证书验证机构或者自定义的证书验证机构对数字证书进行验证,以确保证书的真实性和有效性。如果验证不通过,通信将被终止。
- 客户端随机生成对称密钥,并使用服务器公钥加密后发送给服务器。
- 服务器使用私钥解密客户端发送的数据,得到对称密钥。
- 通信双方使用对称加密算法进行加密通信,保证数据传输的机密性。
在这个过程中,对称密钥的生成和传输是关键步骤。通过对称密钥加密数据,可以在保证传输速度的同时保证数据的安全性。由于对称密钥的生成和传输只发生在 HTTPS 会话的开始阶段,因此可以避免在数据传输过程中反复进行密钥的生成和传输,提高了传输效率和安全性。同时,通过数字证书的验证,可以确保服务器的身份和证书的真实性,防止中间人攻击等安全威胁。
发返验,加解通
37.为什么有的时候刷新页面不需要重新建立 SSL 连接?
在 HTTPS 中,建立 SSL 连接的过程比较耗时,因为它涉及到密钥协商、数字证书验证等操作。为了提高 HTTPS 的性能,浏览器和服务器通常会采用一些优化措施,其中之一就是利用缓存机制来避免重复建立 SSL 连接。
具体来说,当浏览器和服务器首次建立 SSL 连接时,会通过握手过程来协商生成会话密钥(Session Key),这个过程比较耗时。如果在之后的请求中,浏览器可以利用缓存机制,将会话密钥保存在本地,那么在发送新的请求时,就可以直接使用已经协商好的会话密钥,而不必重新建立 SSL 连接,从而减少了网络延迟和连接建立时间,提高了 HTTPS 的性能。
会话密钥是一种临时密钥,只在本次 SSL 会话中有效,因此并不会影响 SSL 连接的安全性。
38.https有什么优缺点?
HTTPS 的优点包括:
- 安全性高:HTTPS 使用 SSL/TLS 协议对传输的数据进行加密和认证,确保数据的机密性和完整性,避免数据被窃取或篡改。
- SEO 优化:搜索引擎通常会更倾向于收录 HTTPS 网站,因为 HTTPS 网站更安全可靠。
HTTPS 的缺点包括:
- 性能开销:HTTPS 建立连接需要额外的握手和加密操作,这会增加通信的延迟和 CPU 负载,降低性能。
- 证书成本:为了使用 HTTPS,网站需要获取数字证书,这通常需要花费一定的费用。
- CDN 加速问题:使用 HTTPS 的网站不支持 CDN 加速,因为 CDN 通常使用自己的证书,无法与网站的证书匹配,这会影响网站的访问速度。
- 缓存问题:HTTPS 传输的数据无法被缓存,这会增加网站的负载,降低性能。
39.http和https的区别是什么?:orange:
- 安全性:HTTP 传输的数据是明文的,容易被第三方窃取或篡改,而 HTTPS 使用 SSL/TLS 协议对传输的数据进行加密和认证,确保数据的机密性和完整性,避免数据被窃取或篡改。
- 传输速度:HTTPS 比 HTTP 慢,因为在建立连接时需要进行握手和加密操作,这会增加通信的延迟和 CPU 负载。
- 证书认证:为了使用 HTTPS,网站需要获取数字证书,这通常需要花费一定的费用,并且需要进行证书认证。
- 缓存:HTTP 传输的数据可以被缓存,而 HTTPS 传输的数据无法被缓存,这会影响网站的访问速度。
- 监听端口:HTTP 默认使用 80 端口,而 HTTPS 默认使用 443 端口。
记忆:全速书缓口
GET和POST
40.HTTP请求方法你知道多少?
客户端发送的 请求报文 第一行为请求行,包含了方法字段。
根据 HTTP 标准,HTTP 请求可以使用多种请求方法。
HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
41.GET 和
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
查阅整理上千份嵌入式面经,将相关资料汇集于此,主要包括: 0.简历面试 1.语言篇 2.计算机基础【本专栏】 3.硬件篇 4.嵌入式Linux (建议PC端查看)