网络的基础

学习地点(泷羽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

相关推荐
找藉口是失败者的习惯7 分钟前
探索 HTTP 请求方法:GET、POST、PUT、DELETE 等的用法详解
网络·网络协议·http
vortex58 分钟前
HTTP 协议及内外网划分详解
网络·网络协议·http·网络安全
莫轻言舞9 分钟前
Java Http 接口对接太繁琐?试试 UniHttp 框架吧
网络·网络协议·http
卜及中11 分钟前
理解HTTP中的Cookie与Session:机制、安全性与报头响应
网络·网络协议·http
叫我龙翔43 分钟前
【项目日记】仿mudou的高并发服务器 --- 整体框架搭建 ,实现时间轮模块
运维·服务器·网络·c++·github
群联云防护小杜1 小时前
CC攻击为什么难防御?
网络·网络协议·安全·web安全·udp
眷怀2 小时前
网卡绑定bonding
linux·运维·服务器·网络·云计算
chirrupy_hamal2 小时前
网络基础 - 网段划分篇
网络
小正太浩二3 小时前
网络安全技术在能源领域的应用
网络·安全·能源·网络流量分析
C入门到入土3 小时前
C语言入门到精通(第六版)——第十六章
网络