代码编织梦想

基本概念

HTTP(HyperText Transfer Protocol:超文本传输协议)是一种应用层协议,主要用于在网络上进行信息的传递,特别是用于Web浏览器和服务器之间的通信。

它使用明文方式发送数据,这意味着传输的内容可以被任何拦截者轻易读取,因此它不适合用于传输敏感信息,如信用卡号、密码等。

HTTP默认工作在TCP协议的80端口

HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是在HTTP的基础上添加了SSL/TLS加密层的安全版本。它不仅提供了数据的加密传输,还提供了对网站服务器的身份验证。

通过SSL/TLS,HTTPS能够确保数据在传输过程中的隐私和完整性,防止数据被窃取或篡改。

HTTPS默认工作在TCP协议的443端口。

工作流程

HTTP工作流程:

  1. TCP三次握手:客户端与服务器进行TCP连接,完成三次握手。
  2. 发送请求:客户端向服务器发送HTTP请求,包括请求行(如GET /index.html)、请求头和请求体。
  3. 服务器处理请求:服务器解析请求,并定位到相应的资源。
  4. 返回响应:服务器将资源以HTTP响应的形式返回给客户端,包括状态行、响应头和响应体。
  5. 关闭连接:通信结束后,客户端和服务器可以选择关闭连接,也可以保持连接以便后续的请求复用。

HTTPS工作流程:

  1. TCP三次握手:客户端与服务器建立TCP连接,完成三次握手。
  2. SSL/TLS握手:进行SSL/TLS握手,包括客户端验证服务器的数字证书,确保服务器的身份是可信的。
  3. 协商加密参数:通过非对称加密的方式,客户端和服务器协商出对称加密算法的密钥、Hash算法的密钥等加密参数。
  4. 建立加密隧道:SSL/TLS握手完成后,双方建立了一个加密的通信隧道,后续的所有数据都将在这个隧道中传输。
  5. 发送请求:在加密隧道中,客户端向服务器发送HTTP请求。
  6. 服务器处理请求:服务器解析请求,并返回相应的资源。
  7. 返回响应:在加密隧道中,服务器将资源以HTTP响应的形式返回给客户端。
  8. 关闭连接:通信结束后,可以选择关闭连接,也可以选择保持连接以便后续的请求复用。

看一张经典图加深理解(图源网络)

HTTP 与 HTTPS 的区别

从安全性角度来看,HTTP是超文本传输协议,数据传输过程是明文的,这意味着数据在传输过程中可能被截获或篡改,存在一定的安全风险。而HTTPS通过在TCP和HTTP之间加入SSL/TLS安全协议,对数据进行加密传输,有效地保护了数据的安全性和完整性。此外,HTTPS还提供了服务器身份认证,确保用户访问的是真实可靠的网站,而不是钓鱼网站。

从网络模型的角度来看,HTTP工作于应用层,而HTTPS由于加入了SSL/TLS安全层,可以认为是在传输层上增加了安全性处理。

从性能和资源消耗方面来看,由于HTTPS需要进行加密和解密操作,相较于HTTP,其速度可能会稍慢,且对服务器和客户端的资源消耗也更大。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_59166601/article/details/137159153

掌握代理ip技术:从http到socks5,实现高效灵活的数据抓取与传输-爱代码爱编程

一、导论 在数字化时代,代理IP技术已经成为众多领域不可或缺的一部分,尤其是对于那些涉及大规模数据抓取、网络爬虫开发以及规避网络限制的场合。本文将详尽探讨HTTP代理和Socks5代理这两种常见的代理协议,并展示如何利用它们以更高效且灵活的方式完成数据抓取与传输任务。 二、HTTP代理概述 HTTP代理是基于HTTP协议设计的代理服务,它主要应用

http和socks5代理哪个隐蔽性更强?-爱代码爱编程

  HTTP代理和SOCKS5代理各有其优缺点,但就隐蔽性而言,SOCKS5代理通常比HTTP代理更隐蔽。以下是它们的比较:       HTTP代理:       透明性较高:HTTP代

http和socks5代理哪个好?-爱代码爱编程

  HTTP代理和SOCKS5代理各有其优缺点,但就隐蔽性而言,SOCKS5代理通常比HTTP代理更隐蔽。以下是它们的比较:       HTTP代理:       透明性较高:HTTP代

http和https-爱代码爱编程

Http 超文本传输协议 用于在Web浏览器和网站服务器之间传输数据,以明文发送,不提供数据加密 传输的数据是完整的,有意义的数据,能被上层应用识别 支持客户/服务器模式简单快速:客户向服务器发送请求时,只传送请求方

了解http安全标头(http security headers)-爱代码爱编程

了解HTTP安全标头(HTTP Security Headers) 安全标头是指定网络客户端(通常是浏览器)和应用程序服务器之间 HTTP 通信行为和安全相关细节的 HTTP 响应标头,其目的是促进深度防御。一旦设置了这些

使用seldom编写http接口用例-爱代码爱编程

在编写接口用例的过程中,针对一个接口,往往只是参数不同,那么参数化就非常有必要了。 seldom 中参数化的用法非常灵活,这里仅介绍@file_data() 的N种玩法。 二维列表 当参数比较简单时可以试试下面的方式。 参数化数据 { "add_guest": [ ["参数错误", "", "", 10021, "parameter

winhttp简单实现get与post请求(win32, c++)-爱代码爱编程

CWinHttp.h #pragma once #include <Windows.h> #include <WinHttp.h> #include <string> #include <vector> #include <tchar.h> #define WIN_HTTP_USER_AGE

【物联网】 qinghub http-爱代码爱编程

基础信息 组件名称 : http-connector 组件版本: 1.0.0 组件类型: 系统默认 状 态: 正式发布 组件描述:通过HTTP 连接网关, 接收来自HTTP客户端的相关数据。 配置文件: 配置文件作为H

websocket 和 http 的区别:简单易懂-爱代码爱编程

在当今的数字时代,及时交付内容和维持用户互动已成为网络应用不可或缺的要素。这一需求催生了新的通信规范——WebSocket 和 HTTP,尽管两者都服务于网络通讯,它们之间却存在显着的差异。本篇文章旨在剖析这两种协议在应用案例、技术细节、性能力量等方面的主要区别。 应用案例概览 HTTP 以适应网页、图像和文档的传输等,HTTP(Hypert

鸿蒙原生应用开发-爱代码爱编程

一、场景介绍 应用通过HTTP发起一个数据请求,支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 二、接口说明 HTTP数据请求功能主要由http模块提供。 使用该功能需要申请ohos.permission.INTERNET权限。 涉及的接口如下表,具体的接口说明请参考API文档。   三

nginx转发代理请求(http)+转发mysql(stream)-爱代码爱编程

1.Nginx能处理的不同类型模块 1.1 http 模块 http 模块用于处理 HTTP 和 HTTPS 协议的请求和响应,通常用于构建 Web 服务器和反向代理服务器。通过 http 模块配置的服务可以处理 Web 浏览器发起的 HTTP 请求,并向客户端提供 Web 页面、静态资源、API 接口等内容。在 http 块内部可以配置各种 HTTP

在axios中设置方法防止http重复请求-爱代码爱编程

可以在封装的 Axios 中设置方法来防止 HTTP 的重复请求。一种常见的方法是通过设置一个标识符,在发送请求前检查该标识符,如果之前已经有相同的请求正在进行,则取消当前请求或者等待上一个请求完成后再发送新请求。这种方式可以有效地避免重复请求的问题。 以下是一个简单的示例代码,演示如何在封装的 Axios 中实现防止重复请求: import axio

http(1)-爱代码爱编程

目录 一、认识HTTP协议 理解 应用层协议 二、fiddler的安装以及介绍 1、fiddler的安装 2、fiddler的介绍 三、HTTP 报文格式 1、http的请求 2、http的响应 五、认识URL 六、关于URL encode 一、认识HTTP协议         HTTP 全称为:“超文本传输协议”,是一种应

http代理驗證的方法和實現方式-爱代码爱编程

HTTP代理驗證是網路安全領域的一個重要環節,它可以保證只有經過驗證的用戶才能使用代理伺服器。這樣,就可以防止惡意用戶濫用代理伺服器,為網路安全提供了一道防線。 HTTP代理驗證的工作原理是,當用戶試圖通過代理伺服器訪問網路時,代理伺服器會要求用戶提供用戶名和密碼。只有當用戶名和密碼正確,用戶才能通過代理伺服器訪問網路。 HTTP代理驗證的方法: