赞
踩
目录
HTTP(Hypertext Transfer Protocol)是一种用于传输超文本数据的应用层协议。用于在客户端(用户)和服务器(网站)之间传输和交换信息,通常使用 TCP 协议。
HTTP 无状态(每次客户端发送的请求都被认为是从全新的客户端发出),如需记录状态(如实现登录和购物车等功能),需要使用 Cookie 和 Session
Cookie 是存储在客户端(通常是浏览器)中的小型文本文件,用于存储少量的键值对数据,可以设置过期时间,在客户端保持持久性。
Session 是存储在服务器端的数据结构,用于存储用户的会话状态信息。通常在用户关闭浏览器或一段时间不活动后过期,更安全。
HTTP 是在 TCP 的基础上建立的。
TCP 是传输层协议,主要解决数据如何在网络中传输。
HTTP 是应用层协议,主要解决如何包装数据。
当浏览器需要从服务器获取网页数据的时候,会发出一次 HTTP 请求。HTTP 会通过 TCP 建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,HTTP 会立即将 TCP 连接断开,这个过程是很短的,所以 HTTP 连接是一种短连接,是一种无状态的连接。
1. 客户端发起请求:客户端(如 Web 浏览器)向服务器发送一个 HTTP 请求,请求某个特定的资源(如网页、图像、视频、文本等,资源通过 URL 进行定位)。
UR L结构:协议,主机(Host),路径(Path),查询参数(Query)
2. 服务器响应请求:服务器接收到请求后,处理请求,并返回一个 HTTP 响应,包含请求的资源或者错误信息等。
3. 连接关闭:一旦服务器发送完响应,连接就会关闭,除非客户端和服务器之间有其他的协议或机制保持连接保持活动状态(例如 HTTP 的持久连接)。
发送 HTTP 请求的内容
请求方式 、路径与查询参数、HTTP 版本、Request Header 请求头、Request body 请求体
请求方式:
接收HTTP响应的内容
HTTP 版本、响应状态码、Response Header 响应头(包含额外的信息告诉客户端如何控制缓存和cookie)、Response body 响应体(从服务端返回的数据)
响应状态码
HTTPS(Hypertext Transfer Protocol Secure)是 HTTP 协议的安全版本,用于在客户端和服务器之间安全地传输数据。
HTTPS 通过使用 SSL/TLS 协议对 HTTP 数据进行加密和认证,提供了数据的保密性和完整性,以及用户和服务器的身份验证。
HTTPS 的工作原理与 HTTP 类似,但具有以下额外的安全性特征:
1. 加密传输:使得数据在传输过程中不易被窃取或篡改。即使有人截获了数据包,也无法直接读取其中的内容。
2. 身份认证:确保客户端与服务器之间的通信是安全的。这防止了中间人攻击,确保客户端连接到的是预期的服务器,而不是恶意服务器。
3. 数据完整性:HTTPS 通过数字签名来保证数据的完整性,确保数据在传输过程中没有被篡改。如果数据在传输过程中被篡改,客户端和服务器之间的通信将被中断。
HTTPS 使用了公钥加密和私钥加密技术来实现安全通信。在 HTTPS 握手过程中,客户端和服务器之间会交换密钥,以建立安全的通信信道。
SSL(Secure Sockets Layer)是一种用于在计算机网络上实现安全通信的协议。它最初由网景公司开发,现在被其继任者 TLS(Transport Layer Security)所取代,但人们通常仍然使用 “SSL” 来指代TLS。
SSL/TLS 协议用于在客户端和服务器之间建立加密通道,以确保在传输过程中的数据安全性和完整性。
SSL/TLS 协议提供的安全特性:加密通信,身份验证,数据完整性。
SSL/TLS 协议是在传输层(Transport Layer)上实现的,因此它可以应用于各种传输协议上,如 HTTP、SMTP、IMAP 等。最常见的应用就是在 HTTP 上,即 HTTPS 协议。
SSL/TLS 握手过程是建立安全通信的关键步骤。在握手过程中,客户端和服务器交换加密算法、密钥和证书等信息,以协商安全参数并建立安全通道。
当客户端连接到服务器时,SSL/TLS 握手过程发生:
至此,SSL/TLS握手过程完成,双方可以使用共享密钥加密和解密通信数据了。
数字签名是一种用于验证数据完整性和认证发送者身份的技术。它通过在数据上应用加密算法,生成一个唯一的标识符,这个标识符被称为数字签名。数字签名与数据绑定在一起,并且只有私钥持有者才能生成数字签名。
数字签名的工作原理涉及非对称加密算法,使用发送者的私钥对数据进行加密生成数字签名,然后接收者使用发送者的公钥对数字签名进行解密验证,从而确保数据的完整性和认证发送者身份。
数字签名的主要作用包括:
对称加密算法,使用相同的密钥加密和解密。
非对称加密算法,公钥加密,私钥解密。
常见的非对称加密算法:
1. FTP(File Transfer Protocol):用于在网络上传输文件的协议,允许用户从一个计算机向另一个计算机发送和接收文件。
2. SMTP(Simple Mail Transfer Protocol):用于在网络上发送电子邮件的协议,负责将邮件从发送者的邮件服务器传输到接收者的邮件服务器。
3. POP3(Post Office Protocol version 3):用于在网络上接收电子邮件的协议,允许用户将邮件下载到本地计算机,并默认删除服务器上的邮件。
4. IMAP(Internet Message Access Protocol):用于在网络上接收电子邮件的协议,与 POP3 类似,但可以在邮件服务器上管理邮件,如创建文件夹、标记邮件、删除邮件等操作,这些操作会在所有设备上同步。
5. DNS(Domain Name System):用于将域名解析为 IP 地址的协议。
6. SSH(Secure Shell):用于在网络上安全地远程登录到另一个计算机,并执行命令和操作的协议。
7. Telnet:类似于 SSH,用于远程登录到另一个计算机,但不提供加密和安全性。
8. HTTPS(Hypertext Transfer Protocol Secure):HTTP 的安全版本。
9. SNMP(Simple Network Management Protocol):用于在网络设备之间进行管理和监控的协议,允许管理员远程监视和管理网络设备。
10. WebSocket:一种在网络上实现全双工通信的协议,允许客户端和服务器之间进行实时的双向通信,适用于 Web 应用中的实时通信和数据推送。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。