关注

【Web安全】-计算机网络协议(1):IP协议详解,HTTP协议介绍


在这里插入图片描述

🦆 个人主页:深邃-

❄️专栏传送门:《C语言》《数据结构与算法》《Web安全》
🌟Gitee仓库:《C语言》《数据结构与算法》
在这里插入图片描述


IP协议详解

IP 地址(Internet Protocol Address)是互联网中用于标识设备(如电脑、手机、服务器、路由器等)的唯一数字标识,相当于设备在网络中的 “门牌号码”。通过 IP 地址,网络中的设备才能互相识别并传递数据,是 TCP/IP 协议栈中最核心的基础之一。

查看IP地址

IP地址分为IPV4和IPV6,目前使用较多的是IPV4

1、Windows查看自己的IP地址

ipconfig

在这里插入图片描述

2、Linux查看自己的IP地址

ifconfig

在这里插入图片描述

IP地址格式

IP地址由 32 位二进制数组成,为了便于人类阅读,通常转换为点分十进制表示(4 组 0-255 的数字,用圆点分隔
在这里插入图片描述

IP地址的范围是从 0.0.0.0到 255.255.255.255 ,也就说,IPV4最大允许 43 亿台计算机连接到网络。

256*256*256*256=4294967296

实际上,IP 地址并不是根据主机台数来配置的,而是以网卡。像服务器、路由器等设备都是有 2 个以上的网卡,也就是它们会有 2 个以上的 IP 地址。
在这里插入图片描述

结果:IP地址不够分

公网IP地址

公网 IP(Public IP Address) 是指由国际互联网地址分配机构(如 IANA)统一规划和分配,能够在全球互联网中直接被识别和访问的 IP 地址。假设你要开一个博客网站,那么你就需要去申请购买一个公有 IP,这样全世界的人才能访问,我们购买的VPS就会分配一个公网IP地址
在这里插入图片描述

43亿个IP地址都是公网IP,如果要分配有切只能有一个设备分配,导致的后果就是不够分,所以诞生了私网IP

私网IP地址

私网 IP(Private IP Address) 是由互联网标准机构(如 IANA)预留的、仅在本地局域网(如家庭、企业内网) 中使用的 IP 地址,不直接参与全球互联网通信。它的核心作用是解决 IPv4 地址资源不足的问题,同时保障内网设备的安全性。
平时我们办公室、家里、学校用的 IP 地址,一般都是私有 IP 地址。因为这些地址允许组织内部的 IT人员自己管理、自己分配,而且可以重复。因此,你学校的某个私有 IP 地址和我学校的可以是一样的。
在这里插入图片描述
同一栋楼或者同一个小区分配一个出口IP用于访问互联网,这样就节省了IP地址不够用

1. 路由器有两个完全不同的IP:内网私有IP、外网公网IP,作用范围完全分开。

2. 所有人家的路由器,内网IP基本都一样(比如192.168.1.1)。 因为私有IP只在自己家局域网内有效,各家网络互相隔离,所以重复也不会冲突。

3. 同一栋楼、同一个运营商宽带下,所有住户的路由器可以共用同一个公网IP。 这么做就是为了节省稀缺的公网IPv4地址。

4. 就算大家公网IP全都一样,外网也不会分不清: 依靠NAT技术+不同端口号,就能精准区分开每一户路由器、每一台上网设备,数据不会送错。

HTTP协议介绍

HTTP协议简介

HTTP 协议HyperText Transfer Protocol,超文本传输协议)是互联网中用于传输超文本(如 HTML页面、图片、视频等资源)的应用层协议,是浏览器与服务器、服务器与服务器之间通信的 “语言规范”。我们日常浏览网页、加载图片、提交表单等操作,本质上都是通过 HTTP 协议完成的

HTTP分为请求响应
在这里插入图片描述

请求:是你的操作,比如访问什么地址、登录,注册等
响应:是返回结果,比如登录成功、注册成功等

HTTP协议就是具体如何请求、如何响应,把行为变成计算机能看懂的语言

URL格式

统一资源定位符(URL)是互联网上资源的唯一标识,掌握其结构是理解HTTP通信的基础。
通俗讲URL就是你的网址

完整的URL由以下部分组成(方括号表示可选部分)

[协议]://[用户名:密码@]主机名[:端口]/[路径]/[?查询参数][#片段标识符]
组成部分示例说明
协议(Scheme)http://、https://定义资源访问的协议类型,常见的有 HTTP、HTTPS、FTP 等
主机名(Host)www.example.com、192.168.1.1资源所在的服务器域名或 IP 地址
端口(Port):8080、:443服务器接收请求的端口号,HTTP 默认 80,HTTPS 默认 443
路径(Path)/api/user/profile资源在服务器上的具体位置,类似文件系统路径
查询参数(Query)?id=123&name=test键值对形式的参数,用于向服务器传递额外信息
片段标识符(Fragment)#section-2用于定位资源内部的特定部分(仅客户端解析)

请求消息结构

HTTP请求是客户端向服务器发送的消息,包含客户端的需求和相关信息,其结构遵循严格的格式规范

基本组成

一个完整的HTTP请求由三部分构成,按顺序排列:
请求行(Request Line):描述请求的核心信息
请求头部(Request Headers):提供请求的元数据
请求体(Request Body):携带请求的具体数据(可选)
在这里插入图片描述
完成的请求如下

POST /api/login HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Content-Length: 27
username=test&password=123456

请求行

请求行由三个部分组成,用空格分隔,具体如下
在这里插入图片描述

请求方法 + 请求URL + HTTP版本

示例如下:

GET /index.html HTTP/1.1

请求头部

由多个键值对组成,格式为键: 值,每行一个头部字段:
在这里插入图片描述
示例如下:

Host: www.example.com 
User-Agent: Mozilla/5.0 
Accept: text/html,application/xhtml+xml

常见头部字段说明:

头部字段作用示例
Host指定服务器的域名和端口Host: blog.example.com
User-Agent描述客户端的浏览器或设备信息User-Agent: Chrome/98.0.4758.102
Accept客户端可接受的响应数据类型Accept: application/json
Cookie客户端存储的Cookie信息Cookie: sessionid=abc123def456

请求体

用于携带请求的具体数据,常见于POST、PUT等方法:
与请求头部之间必须有一个空行分隔
数据格式由Content-Type头部指定
常见格式:表单数据(application/x-www-form-urlencoded)、JSON(application/json)等
在这里插入图片描述
用京东举例,观察请求
在这里插入图片描述
在这里插入图片描述

转载自CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/2401_83075246/article/details/160935934

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--