网络原理 HTTP _ HTTPS

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 网络原理 HTTP _ HTTPS

回顾

我们前面介绍了HTTP协议的请求和响应的基本结构

请求报文是由首行+请求头+空行+正文来组成的

响应报文是由首行+响应头+空行+响应正文组成的

我们也介绍了一定的请求头之中的键值对的属性

Host,Content-type,Content-length,User-agent,Referer,Cookie

HTTP协议中的状态码

我们先介绍一些常用的状态码信息,再将其大类展开

1. 200 OK

一切顺利,没问题

2.404 Not Found  表示访问的资源没找到(有些朋友是不是经常遇见呀hhh)

3.403 Forbidden   表示访问的资源没有权限  

可能是因为没有登录就访问私有资源导致的等

4.405 Method Not Allowed 这里就是可能服务器只支持Get请求而你却使用了Post请求导致的

5.500 Internet Server Error  服务器内部挂了

6.302 Move temporarily   重定向(临时) 301则为永久重定向

可能就是一个域名用了一段时间修改名字了

7.504  Gateway Timeout  这里就是请求超时,可能是服务器挂了,也可能是网挂了

注:这里的永久重定向和临时重定向的区别就是是否影响浏览器的缓存

永久重定向和临时重定向的区别就是永久重定向会缓存重定向的结果方便访问

在重定向报文的响应中有一个特殊的header叫做Location

描述了重定向的目标地址

还有一个特殊的状态码

418  无意义

表示一个彩蛋状态码  大家在写代码的时候千万不要效仿

如何构建HTTP请求

1.通过代码构造

类似于在网上爬图片  比较容易这里不做过多解释

2.使用第三方工具

这个更容易,咱们使用这种方式来操作

首先我们需要下载一个postMan

这软件其实是有对象的,叫做PostWoman 和其功能类似

postman.com/downloads/

下面我们简单介绍创建一个http请求的流程

首先创建一个默认请求

然后可以对这里的参数进行一定的调整

如果需要代码的可以点击右上方自动生成的代码,最后点击send就发送给服务器了

HTTPS

下面我们开始介绍HTTPS

首当其冲的肯定就是为什么需要HTTPS?

其实HTTP协议就已经能够满足日常传输数据了,我们加了一个SSL层就是为了保证数据不被篡改,比如说我想下载一个 千千动听,这里可能返回的下载链接是QQ浏览器的

我们之前也说过运营商劫持问题

这里可能连接有一个假的wifi,你使用这个wifi传输的数据就被黑客从中截获了

解决安全问题,最核心的要点就是加密

我们只需要让黑客拿到数据也无法解密就行了

下面解释几个专业词

明文 传输的原始数据

密文  加密后的数据

对称加密   加密解密方式使用同一个秘钥

非对称加密   加密和解密是两个秘钥  使用a秘钥加密就使用b秘钥解密,反之亦然

对称加密

这里每个客户端使用的秘钥都是不同的,不然黑客只需要自己伪造一个客户端就可以得到数据了,但是如果秘钥使用明文传输,黑客从中也可以轻而易举的获取到,所以用户最好对传输的秘钥也进行一次加密,这里如果使用对称加密对秘钥进行加密,只是一层套娃,此时也是行不通的,所以我们使用非对称加密进行操作(因为这里也要考虑加密的秘钥传输问题)

注:这里为啥不使用非对称加密对header或者是body一起加密呢,这是因为非对称加密使用的硬件资源比较多,耗时比较长,使用非对称加密可能就超出数据原有价值了

所以我们使用非对称加密对对称加密秘钥进行加密

这里称不公开出去的秘钥为私钥,公开出去的秘钥为公钥

服务器持有私钥,然后将公钥发送给客户端(公钥无所谓黑客去不去获取,因为他没有私钥无法解密)

这里客户端使用公钥加密后发送回去给服务器

这样其实也并不是无懈可击的

这里又涉及到一种破坏方式 -- 中间人攻击

我们黑客只需要获取到服务器发送的公钥后截断,发送自己创建的公钥即可,此时客户端使用假的公钥进行加密,传输给黑客黑客就可以使用私钥解密,此时再用截取的公钥进行加密发送给服务器即可

破解方式:使用权威机构的证书即可

这样可以鉴别这个公钥是否是被伪造的

"证书"是一个结构化的数据,里面包含很多属性

比如服务器的域名,公钥,证书的有效期等等

证书是服务器向第三方公正机构申请的

那么这里开始传输的就是证书了,黑客就算看到了也无法修改证书的内容

因为客户端在看到证书之后就会对证书的信息进行验证真伪

此时证书就有一个非常关键的验证信息:证书签名

这里证书的签名就是使用公正机构的私钥对源证书其余字段内容的校验和(CRC,MD5)进行加密的内容

此时客户端拿到证书时候使用同样的算法对字段进行计算,得到校验和1

再使用公正机构的公钥对签名进行解析得到校验和2,最后进行识别两者是否相等即可


相关文章
|
1月前
|
安全 算法 网络协议
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
|
22天前
|
机器学习/深度学习 数据可视化 PyTorch
深入解析图神经网络注意力机制:数学原理与可视化实现
本文深入解析了图神经网络(GNNs)中自注意力机制的内部运作原理,通过可视化和数学推导揭示其工作机制。文章采用“位置-转移图”概念框架,并使用NumPy实现代码示例,逐步拆解自注意力层的计算过程。文中详细展示了从节点特征矩阵、邻接矩阵到生成注意力权重的具体步骤,并通过四个类(GAL1至GAL4)模拟了整个计算流程。最终,结合实际PyTorch Geometric库中的代码,对比分析了核心逻辑,为理解GNN自注意力机制提供了清晰的学习路径。
181 7
深入解析图神经网络注意力机制:数学原理与可视化实现
|
1月前
|
网络协议 安全 网络安全
Introduction to the HTTP and HTTPS Protocol
HTTP protocol is the foundation of the Internet, and HTTPS is the secure version of HTTP. HTTP is an application layer protocol based on TCP/IP protocol. It does not involve packet (packet) transmission, mainly specifying the communication format between the client and the server, and the default po
79 25
|
1月前
|
缓存 安全 网络安全
代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?
本文详细介绍了HTTP、HTTPS和SOCKS5三种代理协议的特点、优缺点以及适用场景。通过对比和分析,可以根据具体需求选择最合适的代理协议。希望本文能帮助您更好地理解和应用代理协议,提高网络应用的安全性和性能。
76 17
|
1月前
|
网络协议 安全 网络安全
应用程序中的网络协议:原理、应用与挑战
网络协议是应用程序实现流畅运行和安全通信的基石。了解不同协议的特点和应用场景,以及它们面临的挑战和应对策略,对于开发者和用户都具有重要意义。在未来,随着技术的不断发展,网络协议也将不断优化和创新,为数字世界的发展提供更强大的支持。
|
2月前
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
485 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
|
2月前
|
安全 搜索推荐 网络安全
HTTPS与HTTP:区别及安全性对比
HTTP和HTTPS是现代网络通信中的两种重要协议。HTTP为明文传输,简单但不安全;HTTPS基于HTTP并通过SSL/TLS加密,确保数据安全性和完整性,防止劫持和篡改。HTTPS还提供身份验证,保护用户隐私并防止中间人攻击。尽管HTTPS有额外的性能开销和配置成本,但在涉及敏感信息的场景中,如在线支付和用户登录,其安全性优势至关重要。搜索引擎也更青睐HTTPS网站,有助于提升SEO排名。综上,HTTPS已成为大多数网站的必然选择,以保障用户数据安全和合规性。
161 1
|
3月前
|
应用服务中间件 Linux 网络安全
nginx安装部署ssl证书,同时支持http与https方式访问
为了使HTTP服务支持HTTPS访问,需生成并安装SSL证书,并确保Nginx支持SSL模块。首先,在`/usr/local/nginx`目录下生成RSA密钥、证书申请文件及自签名证书。接着,确认Nginx已安装SSL模块,若未安装则重新编译Nginx加入该模块。最后,编辑`nginx.conf`配置文件,启用并配置HTTPS服务器部分,指定证书路径和监听端口(如20000),保存后重启Nginx完成部署。
1203 8
|
3月前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
5月前
|
缓存 安全 网络协议
HTTP和HTTPS的区别有哪些?
本文简要总结了 HTTP 和 HTTPS 的区别,从概念、端口、连接方式、使用场景、安全性等多个角度进行了对比。HTTP 是无状态的、无连接的应用层协议,适用于一般性网站和性能要求较高的应用;HTTPS 则通过 SSL/TLS 层提供加密、认证和完整性保护,适用于涉及敏感信息和高安全性的场景。文章还讨论了两者在性能上的差异,包括握手和加密开销、缓存效果以及 HTTP/2 的多路复用技术。最终,根据具体需求选择合适的协议能够更好地平衡安全性和性能。
1731 2
HTTP和HTTPS的区别有哪些?