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

网络的基础

 学习地点(泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频 (bilibili.com))


HTTP协议介绍

HTTP,全称为超文本传输协议(HyperText Transfer Protocol),是用于万维网服务器向本地浏览器传输超文本(如HTML文档)及其他资源的传输协议。它工作在客户端-服务端(B/S)架构上,浏览器作为HTTP客户端,通过URL向HTTP服务端(即Web服务器)发送请求,Web服务器根据接收到的请求后,向客户端发送响应的信息。

HTTP版本发展

        HTTP/0.9

                诞生背景:互联网发展初期,网页需求简单,主要是纯文本的传输。
                主要特性:仅支持GET请求,用于获取HTML文档;没有请求头和响应头,通信简洁;只能传输纯文本内容,不支持多媒体资源。
                使用场景:早期简单的网页浏览,通常是一些静态的文本页面。


        HTTP/1.0

                诞生背景:随着互联网的发展,人们对网页的内容和交互性有了更高要求。
                主要特性:引入了请求头和响应头,包含基本元信息(如文档类型、日期等);支持GET、POST、HEAD等多种请求方法;但每次请求都需要建立新的TCP连接,传输完成后立即断开,效率较低。
                使用场景:适用于简单的网页浏览和交换场景,但对于包含大量资源的网页,加载速度较慢。


        HTTP/1.1

                诞生背景:为解决HTTP/1.0连接频繁建立和断开的问题,提高网页加载速度和性能。
                主要特性:持久连接(Keep-Alive),允许一个TCP连接上发送多个请求和响应;管道化,客户端可连续发送多个请求,但服务器响应顺序必须与请求顺序一致;增加了PUT、DELETE、OPTIONS等请求方式;引入缓存控制机制。
                使用场景:广泛应用于大多数网站和Web应用程序,是成熟且稳定的版本。


        HTTP/2

                诞生背景:Web应用日益复杂,用户对网页加载速度和性能要求更高,HTTP/1.1存在局限性。
                主要特性:二进制分帧,提高传输效率和灵活性;多路复用,可在一个连接上同时处理多个请求和响应;头部压缩,使用HPACK算法减少传输数据量;服务器推送,提高页面加载速度。
                使用场景:适用于性能要求较高的现代Web应用,特别是需要快速加载大量资源的场景。


        HTTP/3

                诞生背景:虽然HTTP/2性能有所提升,但仍基于TCP协议,存在连接建立时间长、丢包重传效率低等问题。
                主要特性:基于QUIC,是基于UDP的传输协议,具有更快的连接建立时间和更好的拥塞控制机制;0-RTT连接建立,减少延迟;连接迁移,网络环境变化时连接可保持;前向纠错,提高传输效率。
                使用场景:对延迟敏感的应用,如在线游戏、实时视频通信等,以及在网络环境不稳定的情况下提供更好性能和可靠性。


HTTP协议请求方式

        GET:用于请求指定的资源。最常见,浏览器访问时通常发送GET请求。可缓存,参数附加在URL中,易于分享和书签,但可能暴露敏感信息,有长度限制,且不会修改服务器资源。
        POST:通常用于向服务器提交数据,创建或更新资源。如提交表单、上传文件等。数据放在请求体中,可传输大量数据,相对更安全,不易暴露敏感信息,通常不会被缓存。
        PUT:用于更新服务器上的资源,通常会将整个资源进行替换。PUT请求是幂等的。
        DELETE:用于删除服务器上的指定资源。DELETE请求也是幂等的。
        HEAD:与GET类似,但只返回头部信息,不返回资源主体内容。用于检查资源存在性,获取元信息,节省带宽和时间。
        OPTIONS:用于获取服务器支持的HTTP请求方法和其他选项。客户端可通过OPTIONS请求了解服务器对特定资源的访问权限和支持的操作。
        TRACE:用于诊断和调试,客户端可发送TRACE请求来查看请求在网络中经过的路径。通常在开发和测试环境中使用。

HTTP协议之URL

URL格式:协议://域名:端口/路径/文件?参数#锚点。

例如:https://www.baidu.com/web/123.html?id=1#respond。

HTTP协议状态码

        1xx 信息性状态码

                100 Continue:表示一切正常,客户端可继续发送请求或忽略。在POST请求体较大时,服务器可能先返回此状态码。
        

        2xx 成功状态码

                200 OK:最常见的状态码,表示请求成功,服务器已返回数据。
                201 Created:表示请求成功,并在服务器上创建了新资源。通常在POST请求创建资源时返回。
                204 No Content:表示请求成功处理,但没有返回内容。通常用于PUT或DELETE请求成功后。

        3xx 重定向状态码:

                301 Moved Permanently:表示资源已永久移动到新URL,客户端应使用新URL请求。
                302 Found:表示资源临时移动到另一个URL,客户端应继续使用原URL,但可根据Location头部重定向。
                304 Not Modified:表示资源未被修改,客户端可使用缓存版本。通常在条件请求时返回。


        4xx 客户端错误状态码

                400 Bad Request:表示请求有语法错误或无法被服务器理解。
                401 Unauthorized:表示请求需要用户认证,通常因客户端未提供有效身份验证凭证。
                403 Forbidden:表示服务器理解请求但拒绝执行,通常因客户端权限不足。
                404 Not Found:表示服务器无法找到请求的资源。
                405 Method Not Allowed:表示请求方法不被允许。


        5xx 服务器错误状态码

                500 Internal Server Error:表示服务器处理请求时发生内部错误,通常是服务器端程序异常。
                502 Bad Gateway:表示作为网关或代理的服务器从上游服务器接收到无效响应。
                503 Service Unavailable:表示服务器暂时无法处理请求,通常因过载或维护。
                504 Gateway Timeout:表示作为网关或代理的服务器等待上游服务器响应时超时。

内外网划分

内网(局域网)

        定义:指组织或机构内部的网络,范围相对较小,局限于办公室、楼栋或企业园区。
        特点:
                较高安全性:与外部网络相对隔绝,外部用户难以直接访问内网资源,可通过访问控制策略、防火墙等措施加强安全防护。
                高效资源共享:内网设备可方便共享文件、打印机、数据库等资源,提高工作效率。
                稳定网络性能:用户数量和流量可控,可通过合适网络设备确保高速稳定运行。
用途:企业办公、学校教学、医疗机构内部系统等。

外网(广域网)

        定义:指连接全球各地的网络,由互联网服务提供商(ISP)提供接入服务,范围广泛,覆盖全球。
        特点:
                开放性:任何人可通过合适方式接入外网,获取信息和服务,但存在安全风险。
                动态性:网络环境动态变化,网络流量、用户行为等因素影响性能和稳定性。
        用途:信息获取、社交互动、电子商务等。

公网和私网地址

        公网地址

        定义:也称全球唯一IP地址,由ISP分配给用户,可在全球互联网上唯一识别。
        特点:
                全球唯一性:不同设备不能拥有相同公网地址。
                可路由性:可在互联网上被路由,实现不同网络中设备通信。
                有限性:IPv4地址资源有限,公网地址需求增加,资源紧张。
                服务器托管:企业和个人需将服务器托管在数据中心时,需使用公网地址以便全球访问。
                网站建设:网站服务需公网地址才能被互联网用户访问。
                远程办公:需远程访问公司内部网络资源的员工,可通过VPN等技术使用公网地址实现远程访问。

        

        私网地址

        定义:也称本地IP地址,组织或机构内部使用,不能在全球互联网上直接访问。
        特点:
                可重复使用:可在不同组织或机构内部重复利用。
                灵活性:分配由组织或机构内部自行管理,具有较高灵活性。
                安全性:不能在全球互联网上直接访问,提高网络安全性,减少外部攻击风险。
                用途:企业内部网络、家庭网络、无线网络等。

常见的私网地址范围

A类地址:10.0.0.0-10.255.255.255
B类地址:172.16.0.0-172.31.255.255
C类地址:192.168.0.0-192.168.255.255

相关文章:

网络的基础

学习地点(泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频 (bilibili.com)) HTTP协议介绍 HTTP,全称为超文本传输协议(HyperText Transfer Protocol),是用于万维网服务器向本地浏览器传输超文本&#xff…...

金融学期末速成笔记

【拯救者】金融学速成(基础习题) 重点: 市场经济是发达的商品经济。在市场经济条件下,市场机制作为资源配置方式,发挥基础性作用。 除具有商品经济的一般特征外,与商品经济相比,市场经济还具有一些新的特征…...

【Elasticsearch入门到落地】1、初识Elasticsearch

一、什么是Elasticsearch Elasticsearch(简称ES)是一款非常强大的开源搜索引擎,可以帮助我们从海量数据中快速找到需要的内容。它使用Java编写,基于Apache Lucene来构建索引和提供搜索功能,是一个分布式、可扩展、近实…...

电子版产品册代替纸质版产品册,开源节流!

​在当今数字化时代,企业纷纷寻求创新手段以降低成本、提高效率。纸质版产品册作为传统宣传手段,虽然具有一定的宣传效果,但成本高昂、更新不便、环保压力等问题日益凸显。本文将为您详细解析如何通过采用电子版产品册替代纸质版产品册&#…...

npm i忽略依赖冲突

在使用npm安装依赖时,如果遇到依赖冲突,通常npm会提示错误并阻止安装。但是,如果你想要忽略这些依赖冲突,可以使用以下几种方法: 1.使用--force或-f参数:这个参数会强制npm忽略某些错误,包括依…...

商品,订单业务流程梳理一

业务架构梳理 业务系统介绍 业务商品流程 业务订单流程 业务售后流程 系统架构 技术栈...

Spring中的 bean 标签中的 factory-bean , factory-method

1.首先说说 factory-method 是指定创造实例的工厂方法,用法: factory-method 和 class 配合使用,这时 factory-method 必须是class所指定的类中的一个静态方法,也就是Spring会直接调用 class 所指定的类的静态工厂方法创建一个实例…...

车间管理|基于SprinBoot+vue工厂车间管理系统设计与实现(源码+数据库+文档)

车间管理系统系统 目录 基于SprinBootvue工厂车间管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布道师&…...

C#实战:使用腾讯云识别服务轻松提取火车票信息

目录 一、腾讯票据单据识别 Invoice OCR服务介绍 二、开发完整流程 2.1 开通文字识别服务 2.2 创建开发者密钥 2.3 创建项目编写代码集成 三、总结 公司内部涉及到车票报销的时候一个个输入火车票信息非常麻烦,尤其是出差比较多的企业,这对于财务人…...

王珊数据库系统概论第六版PDF+第五版课后答案+课件

为了保持科学性、先进性和实用性, 编者在第5版教材基础上对全书内容进行了修改、更新和充实。在科学性方面, 编者在系统篇中增加了第9章关系数据库存储管理, 讲解数据库的逻辑与物理组织方式及索引结构。增加这部分内容有助于学生更好地理解关…...

Spring学习笔记(四)

二十一、Spring事务详解 &#xff08;一&#xff09;、Spring基于XML的事务配置 1.环境搭建 1.1 构建maven工程&#xff0c;添加相关技术依赖 <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context…...

CALL处 F8的“bug“

看zpchcbd师傅的一篇文章看到了这个比较有趣的点。实操跟着过一遍。 准确来说这个不能说是"bug"&#xff0c;这可以是一种"刻意为之"的手段&#xff0c;可以用于加壳、反调试等逆向技术中。 原理&#xff1a; F8步过call的时候&#xff0c;其实是在call的…...

Verilog中的有符号数与无符号数

1. 有符号与无符号最本质的区别在于高位扩展时的扩展规则不同&#xff1b; 对于同一个4‘b1001进行位扩展成8位&#xff1a; 有符号扩展结果为&#xff1a;8’b11111001 无符合扩展结果为: 8b00001001 2. 同第一点&#xff0c;若在运算中没有涉及位扩展&#xff0c;则有符…...

15分钟学 Go 第 47 天 :并发进阶——深入了解Go语言的并发模型!

第47天的学习&#xff1a;并发进阶——深入了解Go语言的并发模型&#xff01; 目录 Go并发模型简介Goroutines深度讲解Channels的进阶使用Select语句详解并发模型设计模式实战案例分析常见问题与解决方案 1. Go并发模型简介 Go语言以其内置的并发支持而闻名。通过轻量级的g…...

前端代码分析题(选择题、分析题)——this指向、原型链分析

this指向 普通函数&#xff1a;this 的指向由调用方式决定&#xff0c;可以是全局对象、调用该函数的对象&#xff0c;或者显式指定的对象。箭头函数&#xff1a;this 的指向在定义时确定&#xff0c;始终继承自外层函数作用域的 this&#xff0c;不会被调用方式影响。 var obj…...

react 组件应用

文章目录 react 组件react 中组件 hook 函数应用useMemo技术细节(useMemo 钩子函数和 useCallback 钩子函数)小结(依赖性数组应用) react 组件 函数式组件实例及应用场景 实例&#xff1a; 以下是一个简单的函数式组件&#xff0c;用于显示一个欢迎消息。 import React from re…...

mysql 快速解决死锁方式

mysql 快速解决死锁方式 直接寻找并终止导致死锁的具体 SQL 语句是处理死锁的一种有效方法&#xff0c;特别是在高并发环境中。以下步骤和示例展示了如何通过识别、分析和终止长时间运行的 SQL 语句来解决死锁问题。 一、识别那个导致死锁的 SQL 语句 1. 使用 SHOW ENGINE I…...

RabbitMQ 篇-深入了解 RabbitMQ 安装以及 SpringAMQP 的基础使用(声明队列和交换机、发送接收消息、配置 JSON 消息转化器)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 RabbitMQ 初识 1.1 RabbitMQ 安装 2.0 数据隔离 2.1 用户管理 2.2 virtual host 虚拟主机 3.0 SpringAMQP 3.1 RabbitMQ 配置 3.2 发送消息 3.3 接收消息 3.4 Wor…...

在 WPF 中,绑定机制是如何工作的?WPF数据绑定机制解析

在WPF&#xff08;Windows Presentation Foundation&#xff09;中&#xff0c;数据绑定机制是其核心功能之一&#xff0c;广泛用于连接应用程序的UI&#xff08;用户界面&#xff09;和应用程序的业务逻辑层。数据绑定允许你将UI元素与数据源&#xff08;如对象、集合或其他数…...

pwn学习笔记(12)--Chunk Extend and Overlapping

pwn学习笔记&#xff08;12&#xff09;–Chunk Extend and Overlapping ​ chunk extend 是堆漏洞的一种常见利用手法&#xff0c;通过 extend 可以实现 chunk overlapping&#xff08;块重叠&#xff09; 的效果。这种利用方法需要以下的时机和条件&#xff1a; 程序中存在…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能

下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能&#xff0c;包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...