当前位置: 首页 > news >正文

网络基础入门到深入(3):网络协议-HTTP/S

目录

一、HTTP和HTTPS协议简介

1.HTTP协议

.HTTP 协议

作用:

特点:

2.HTTPS协议

作用:

实现方式:

特点:

二.HTTP的请求与响应结构

1.HTTP请求结构

1.请求行:描述操作和资源

2.请求头:

3.请求体 :

 2.HTTP响应结构

1.状态行:

2.响应头:

 3.响应体:

HTTPS的工作原理(SSL/TLS)

1. SSL/TLS 的核心功能

2. HTTPS 的握手过程

3. 核心概念


本篇内容将开始讲解HTTP和HTTPS,这部分内容会涉及HTTP 的请求与响应结构、HTTPS 的安全性原理


一、HTTP和HTTPS协议简介

1.HTTP协议

.HTTP 协议
  • 全称:HyperText Transfer Protocol(超文本传输协议)
  • 作用

                在客户端(如浏览器)与服务器之间传输网页数据。

  • 特点
    • 无状态:每次请求独立,服务器不会记住之前的请求。
    • 明文传输:数据不加密,容易被窃听。

2.HTTPS协议

  • 全称:HTTP Secure(安全超文本传输协议)
  • 作用

                为 HTTP 添加了加密层,确保通信安全。

  • 实现方式

                HTTP + SSL/TLS。

  • 特点

    • 数据加密,保护隐私。
    • 防止中间人攻击和数据篡改。
    • 使用 https:// 前缀,默认端口是 443。

二.HTTP的请求与响应结构

1.HTTP请求结构

客户端向服务器发送请求,包含以下部分:

1.请求行:描述操作和资源
  • 方法(如 Get、POST、PUT、DELETE)
  • URL(目标资源路径)
  • 协议版本(如HTTP/1.1)

        示例:

GET /index.html HTTP/1.1
2.请求头:

包含附加信息(元数据)

  • 示例:

Host: www.example.com
User-Agent: Mozilla/5.0

3.请求体 :

携带数据(仅POST登方法有)

示例:

name=Alice&age=25


 2.HTTP响应结构

服务器响应客户端的请求,包含以下部分:

1.状态行:

描述响应状态

  • 协议版本(如HTTP/1.1)
  • 状态码(如200表示成功)
  • 状态描述(如OK)

以下是常见的 HTTP 响应结构中的状态码和状态描述 表格,涵盖了不同的类别及常见状态码的解释:

类别状态码状态描述含义
信息响应100Continue继续,请求的初始部分已经接收,客户端应继续发送剩余部分。
101Switching Protocols切换协议,服务器已根据客户端请求切换到另一协议。
102Processing处理中,服务器已接收请求但尚未完成。
成功200OK请求成功,服务器返回请求的资源。
201Created已创建,请求导致新的资源成功创建。
202Accepted已接受,服务器接受了请求但尚未处理完成。
204No Content无内容,服务器成功处理了请求,但没有返回任何内容。
重定向301Moved Permanently永久移动,资源已永久转移到新位置,后续应使用新 URL。
302Found临时移动,资源暂时被转移到另一个位置。
303See Other查看其他位置,客户端应使用 GET 请求访问另一个 URI。
304Not Modified未修改,客户端缓存的资源未改变,可以直接使用本地副本。
307Temporary Redirect临时重定向,资源被临时移动,且后续仍应使用原 URL。
客户端错误400Bad Request错误请求,客户端请求有语法错误,服务器无法理解。
401Unauthorized未授权,客户端未提供认证凭据或凭据无效。
403Forbidden禁止访问,服务器理解请求但拒绝执行。
404Not Found未找到,服务器无法找到请求的资源。
405Method Not Allowed方法不允许,请求中使用的方法被禁止。
408Request Timeout请求超时,客户端在规定时间内未完成请求。
429Too Many Requests请求过多,客户端发送的请求次数超出限额。
服务器错误500Internal Server Error服务器内部错误,服务器在处理请求时发生错误。
501Not Implemented未实现,服务器不支持当前请求的方法。
502Bad Gateway错误网关,服务器作为网关时收到无效响应。
503Service Unavailable服务不可用,服务器暂时过载或维护。
504Gateway Timeout网关超时,服务器作为网关时未及时获得上游服务器响应。

2.响应头:

附加信息

示例:

Content-Type: text/html
Content-Length: 1234 

 3.响应体:

返回的实际内容


HTTPS的工作原理(SSL/TLS)

1. SSL/TLS 的核心功能
  • 加密:防止通信内容被窃听。
  • 认证:确认服务器身份是否可信。
  • 完整性:确保数据未被篡改。
2. HTTPS 的握手过程

HTTPS 的核心是 TLS 握手。以下是简化的流程:

  1. 客户端发起请求:客户端发送支持的加密算法和协议版本。
  2. 服务器响应:服务器选择加密算法,并发送公钥和数字证书。
  3. 密钥协商:客户端验证服务器证书,并生成对称密钥,通过服务器公钥加密发送给服务器。
  4. 安全通信开始:双方使用对称密钥进行加密通信。
3. 核心概念
  • 对称加密:同一密钥用于加密和解密,速度快。
  • 非对称加密:公钥加密,私钥解密,安全性高。
  • 数字证书:由受信任机构(CA)颁发,用于验证服务器身份。

好了,这就是本篇文章,大概讲解了一下HTTP和HTTPS协议的一些内容,后续将会介绍其他更多的协议内容

相关文章:

网络基础入门到深入(3):网络协议-HTTP/S

目录 一、HTTP和HTTPS协议简介 1.HTTP协议 .HTTP 协议 作用: 特点: 2.HTTPS协议 作用: 实现方式: 特点: 二.HTTP的请求与响应结构 1.HTTP请求结构 1.请求行:描述操作和资源 2.请求头: 3.请求体 : 2.HTTP…...

Git的.gitignore文件详解与常见用法

诸神缄默不语-个人CSDN博文目录 在日常使用 Git 进行版本控制时,我们经常会遇到一些不需要被提交到远程仓库的文件(例如日志文件、临时配置文件、环境变量文件等)。为了忽略这些文件的提交,Git 提供了一个非常有用的功能&#xf…...

UniApp 组件的深度运用

一、引言 在当今的移动应用开发领域,跨平台开发已成为主流趋势,而 UniApp 作为其中的佼佼者,备受开发者青睐。UniApp 的强大之处很大程度上源于其丰富且功能多样的组件体系,这些组件宛如精巧的积木,能够帮助开发者快速…...

k8s部署nginx+sshd实现文件上传下载

要通过 nginx 和 sshd 实现文件的上传和下载,通常的做法是结合 SSH 协议和 HTTP 协议,使用 nginx 提供 Web 服务器功能,同时使用 sshd(即 SSH 服务)来处理通过 SSH 协议进行的文件传输。 SSH 实现文件的上传和下载&…...

Spring-Mybatis 2.0

前言: 第一点:过于依赖代码生成器或AI,导致基于mybaits的CRUD通通忘了,所以为了找回遗忘的记忆,有了该系列内容。 第二点:通过实践而发现真理,又通过实践而证实真理和发展真理。从感性认识而能…...

Linux 的历史与发展:从诞生到未来

Linux 的历史与发展:从诞生到未来 1. 起源之前:操作系统的历史背景 在 Linux 问世之前,操作系统的发展经历了多个重要阶段,这些阶段为 Linux 的诞生奠定了基础: 1940-1950 年代:计算机初期 早期计算机如 [[…...

SQL Server实现将分组的其他字段数据拼接成一条数据

在 SQL Server 中,可以使用 STRING_AGG 函数(SQL Server 2017 及更高版本支持)将分组的其他字段数据拼接成一条数据。以下是示例代码: 假设有一个表 Orders,结构如下: OrderIDCustomerIDProduct1C001Appl…...

学习笔记 --C#基础其他知识点(同步和异步)

C#中的同步和异步《一》 以下理解借鉴博客:借鉴博客地址1 异步编程(Asynchronous) 允许任务在后台执行,而不会阻塞调用线程。C#使用async和await关键字 async Task AsynchronousMethod() {// 等待异步操作完成await Task.Dela…...

一维、线性卡尔曼滤波的例程(MATLAB)

这段 MATLAB 代码实现了一维线性卡尔曼滤波器的基本功能,用于估计在存在噪声的情况下目标状态的真实值 文章目录 一维线性卡尔曼滤波代码运行代码介绍1. **初始化部分**2. **数据生成**3. **卡尔曼滤波器实现**4. **结果可视化**5. **统计输出**源代码总结一维线性卡尔曼滤波 …...

极品飞车6的游戏手柄设置

极品飞车,既可以用键盘来控制车辆的前进、后退、左转、右转、加速与减速,也可以使用游戏手柄来操作车辆的运行。需要注意的是,极品飞车虽然支持手柄,但是仅支持常见的北通、罗技还有部分Xbox系列的手柄,至于其他的PS4手…...

FreeRTOS Lwip Socket APi TCP Server 1对多

源文件 /********************************************************************************* file lwip_tcp_driver.cpp* brief TCP Server implementation using LwIP******************************************************************************* at…...

逆袭之路(11)——python网络爬虫:原理、应用、风险与应对策略

困厄铸剑心,逆袭展锋芒。 寒苦凝壮志,腾跃绘华章。 我要逆袭。 目录 一、引言 二、网络爬虫的基本原理 (一)网络请求与响应 (二)网页解析 (三)爬行策略 三、网络爬虫的应用领…...

KOI技术-事件驱动编程(Sping后端)

1 “你日渐平庸,甘于平庸,将继续平庸。”——《以自己喜欢的方式过一生》 2. “总是有人要赢的,那为什么不能是我呢?”——科比布莱恩特 3. “你那么憎恨那些人,和他们斗了那么久,最终却要变得和他们一样,…...

LVS 负载均衡原理 | 配置示例

注:本文为 “ LVS 负载均衡原理 | 配置” 相关文章合辑。 部分内容已过时,可以看看原理实现。 未整理去重。 使用 LVS 实现负载均衡原理及安装配置详解 posted on 2017-02-12 14:35 肖邦 linux 负载均衡集群是 load balance 集群的简写,翻…...

Hive分区再分桶表

在Hive中,数据通常是根据分区(partition)来组织的,但是对于大数据集,单层分区可能不够用,因此可以进一步细分为桶(bucket)。桶可以用于提供额外的并行处理和优化查询性能。在这种情况…...

从 Coding (Jenkinsfile) 到 Docker:全流程自动化部署 Spring Boot 实战指南(简化篇)

前言 本文记录使用 Coding (以 Jenkinsfile 为核心) 和 Docker 部署 Springboot 项目的过程,分享设置细节和一些注意问题。 1. 配置服务器环境 在实施此过程前,确保服务器已配置好 Docker、MySQL 和 Redis,可参考下列链接进行操作&#xff1…...

Linux官文转载-- Linux 内核代码风格

Warning 此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 这是一个简短的文档,描述了 linux 内核的首选代码风格。代码风格是因人而异的&a…...

Qt监控系统放大招/历经十几年迭代完善/多屏幕辅屏预览/多层级设备树/网络登录和回放

一、前言说明 近期对视频监控系统做了比较大的更新升级,主要就是三点,第一点就是增加了辅屏预览,这个也是好多个客户需要的功能,海康的iVMS-4200客户端就有这个功能,方便在多个屏幕打开不同的视频进行查看&#xff0c…...

【贪心算法】贪心算法七

贪心算法七 1.整数替换2.俄罗斯套娃信封问题3.可被三整除的最大和4.距离相等的条形码5.重构字符串 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃&#x1f…...

LangChain教程 - 表达式语言 (LCEL) -构建智能链

系列文章索引 LangChain教程 - 系列文章 LangChain提供了一种灵活且强大的表达式语言 (LangChain Expression Language, LCEL),用于创建复杂的逻辑链。通过将不同的可运行对象组合起来,LCEL可以实现顺序链、嵌套链、并行链、路由以及动态构建等高级功能…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

定时器任务——若依源码分析

分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

如何为服务器生成TLS证书

TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)

升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求&#xff…...

SpringCloudGateway 自定义局部过滤器

场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...