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

计算机网络——HTTP/IP 协议通俗入门详解

HTTP/IP 协议通俗入门详解

    • 一、什么是 HTTP 协议?
      • 1. 基本定义
      • 2. HTTP 是怎么工作的?
    • 二、HTTP 协议的特点
    • 三、HTTPS 是什么?它和 HTTP 有啥区别?
      • 1. HTTPS 概述
      • 2. HTTP vs HTTPS
    • 四、HTTP 的通信过程
      • 步骤详解:
    • 五、常见 HTTP 请求方法
    • 六、HTTP 状态码详解
    • 七、HTTP 1.0 和 HTTP 1.1 的区别
    • 八、HTTPS 建立连接过程详解
    • 九、HTTP 会话结束的判断方式
    • 十、IP 地址 vs MAC 地址
    • 总结

一、什么是 HTTP 协议?

1. 基本定义

HTTP(HyperText Transfer Protocol)超文本传输协议,是一种基于 TCP/IP 协议应用层协议,用于客户端(浏览器)和服务端(Web服务器)之间的数据传输。

HTTP 协议让你能打开网页、下载图片、发送表单请求等。比如你打开百度首页,其实就是浏览器向服务器发起了一个 HTTP 请求,服务器返回了网页代码,你的浏览器再把这些内容显示出来。

2. HTTP 是怎么工作的?

HTTP 是基于 “请求-响应” 模型:

  • 浏览器(客户端)发送一个请求;
  • Web 服务器收到请求并返回响应;
  • 浏览器根据响应展示内容。

二、HTTP 协议的特点

特点说明
简单快速请求格式简单,处理速度快
灵活支持多种数据类型(HTML、图片、JSON等)
无连接一次请求完成后就断开连接
无状态每次请求独立,不记得你是谁(除非用 Cookie、Session)
默认端口HTTP 默认使用 80 端口,HTTPS 默认用 443 端口
基于 TCP使用可靠的 TCP 三次握手来建立连接
支持两种架构B/S(浏览器/服务器)、C/S(客户端/服务器)

三、HTTPS 是什么?它和 HTTP 有啥区别?

1. HTTPS 概述

HTTPS = HTTP + SSL/TLS加密协议
HTTPS 用于保障传输安全性,防止信息被窃取或篡改。

2. HTTP vs HTTPS

比较项HTTPHTTPS
是否加密❌ 明文传输✅ 加密传输
安全性
默认端口80443
是否需要证书是(需要 SSL 证书)
握手过程直接通信多一步 SSL 握手协商密钥
性能稍慢(需要加解密)
成本高(证书可能要钱)

四、HTTP 的通信过程

步骤详解:

  1. 建立连接
    浏览器通过 TCP 协议连接服务器,通常连接的是 80 端口。

  2. 发送请求
    浏览器发出 HTTP 请求报文(包含方法、路径、请求头等)。

  3. 服务器响应
    服务器返回 HTTP 响应报文(包含状态码、内容等)。

  4. 关闭连接
    通信完成后关闭连接(或复用连接)。

  5. 浏览器解析内容
    浏览器根据 HTML、CSS、JS 渲染最终页面。


五、常见 HTTP 请求方法

方法用途
GET获取资源
POST提交表单或数据
PUT上传新资源
DELETE删除资源
HEAD类似 GET,但不返回内容体
OPTIONS查询支持的方法

六、HTTP 状态码详解

状态码含义示例说明
200 OK成功页面正常返回
206 Partial Content成功返回部分内容用于断点续传
301 Moved Permanently永久重定向网址永久更改
302 Found临时重定向短时间跳转到其他页面
304 Not Modified内容未修改用于缓存判断
403 Forbidden无权限访问服务器拒绝请求
404 Not Found页面不存在常见的“找不到页面”
500 Internal Server Error服务器错误服务端崩了
503 Service Unavailable服务不可用一般是服务器太忙或维护中

七、HTTP 1.0 和 HTTP 1.1 的区别

项目HTTP 1.0HTTP 1.1
默认连接短连接,每次请求都断开长连接,支持 Connection: keep-alive
Host头支持不支持必须支持(支持虚拟主机)
缓存机制简单支持更多控制头字段
错误状态码增加了更多状态码如 409、410
断点续传不支持,存在浪费带宽支持(通过 Range 头实现)
管道化请求不支持支持请求流水线(Pipelining)

八、HTTPS 建立连接过程详解

  1. 用户在浏览器地址栏输入,浏览器发起 HTTPS 请求;
  2. 服务器返回 SSL 证书(含公钥);
  3. 浏览器验证证书是否合法(例如由受信任 CA 签发);
  4. 浏览器生成随机密钥,并使用公钥加密;
  5. 服务器使用私钥解密,生成对称密钥;
  6. 后续数据用这个密钥加密传输(对称加密,效率高)。
graph TDA[浏览器发起 HTTPS 请求(Client Hello)] --> B[服务器返回 SSL 证书(含公钥)]B --> C[浏览器验证证书是否合法]C -->|验证通过| D[浏览器生成随机对称密钥]D --> E[用服务器公钥加密该密钥并发送]E --> F[服务器使用私钥解密获取对称密钥]F --> G[双方拥有相同的对称密钥]G --> H[使用对称密钥进行后续数据加密传输(如登录、支付等)]

九、HTTP 会话结束的判断方式

要判断 HTTP 会话是否结束,最准确的方法是:

观察 TCP 是否进行“四次挥手”

  • 客户端和服务器之间释放 TCP 连接的标准过程;
  • 表示一个 HTTP 会话结束(如果未启用长连接)。

十、IP 地址 vs MAC 地址

项目IP 地址MAC 地址
层级网络层数据链路层
作用逻辑地址,确定“你在哪个网络”物理地址,确定“你是谁”
是否唯一可变(动态分配)全球唯一(写死在网卡)
举例192.168.1.1003C:52:82:3A:44:1F
用途路由寻址局域网通信

简单理解
IP地址像是“邮政编码+门牌号”,MAC地址像是“身份证号”。


总结

  • HTTP 是基础网络通信协议,Web 浏览器和服务器都依赖它。
  • HTTPS 是加密版 HTTP,更安全,但成本更高。
  • HTTP 协议本身简单,但通过状态码、请求头、缓存机制等可以实现强大功能
http://www.xdnf.cn/news/241399.html

相关文章:

  • 优雅关闭服务:深入理解 SIGINT / SIGTERM 信号处理机制
  • WPF封装常用的TCP、串口、Modbus、MQTT、Webapi、PLC通讯工具类
  • C#扩展方法(Extension Method)
  • Python生活手册-文件二进制:从快递柜到生鲜冷链的数据保鲜术
  • 健康生活新主张:全方位养生指南
  • Linux 命令如何同时支持文件参数与管道输入?
  • 基于数字图像处理的裂缝检测与识别系统(Matlab)
  • 安川机器人常见故障报警及解决办法
  • Flink流式计算核心:DataStream API与时间语义深度解析
  • 安装linux下的idea
  • 【Redis分布式】主从复制
  • 【精选】基于数据挖掘的广州招聘可视化分析系统(大数据组件+Spark+Hive+MySQL+AI智能云+DeepSeek人工智能+深度学习之LSTM算法)
  • Ollama 本地运行 Qwen 3
  • 短视频矩阵系统:源码搭建与定制化开发的深度剖析
  • Pinia: vue3状态管理
  • 算法--模拟题目
  • 算法笔记.试除法判断质数
  • 【经管数据】A股上市公司资产定价效率数据(2000-2023年)
  • 油气人工地震资料信号处理中,机器学习和AI应用
  • 科学养生,解锁健康生活密码
  • Scala 循环
  • openEuler 22.03 安装 Mysql 5.7,TAR离线安装
  • Python与深度学习:自动驾驶中的物体检测,如何让汽车“看懂”世界
  • 【现代深度学习技术】现代循环神经网络02:长短期记忆网络(LSTM)
  • 【Linux系统】Linux进程信号(产生,保存信号)
  • WGCLOUD使用 - 如何监控RabbitMQ运行参数
  • Lebesgue测度和积分理论发展概观
  • ThreadLocal详解
  • 从工厂到生活:算法 × 深度学习,正在改写自动化的底层逻辑
  • Js扩展DOM、BOM、AJAX、事件、定时器