HTTP中URL,状态码详解

@bit::Shadow
✧(≖ ◡ ≖✿

目录

URL

https://news.qq.com/rain/a/20260829A0D52600?adChannelId=news分析其构成

从IP到域名的历程

幕后机制:DNS(域名系统)自动转换

URL实例

状态码

状态码速查表

HTTP常见的响应报头

Cookie

cookie的性质


浏览器服务器模式(B/S模式)

URL

浏览网页的路径索引。

常见的索引(以腾讯新闻为例)

https://news.qq.com/rain/a/20260829A0D52600?adChannelId=news分析其构成

注意:"?"作为分隔符。

组成部分 内容 作用说明
协议 https:// 使用HTTP over SSL/TLS加密协议,保证浏览器与服务器之间数据传输的安全。
域名 news.qq.com 腾讯新闻的二级域名,指向提供新闻服务的特定服务器集群。
路径 (Path) /rain/a/20260829A0D52600 资源在服务器上的存放或路由路径 。结合腾讯新闻的常见模式,这很可能用于定位一篇具体的文章: - /rain/:可能代表一个特定的频道、业务线或技术架构标识(如"睿思"或某内容分发系统)。 - /a/:可能代表"article"(文章)类型。 - 20260829A0D52600:这是一串文章唯一标识ID 。其中20260829可能是发布日期(2026年8月29日),后面的字母数字组合用于精确区分每篇文章。
查询参数 (Query String) ?adChannelId=news 以键值对key=value形式提供附加参数 ,用于追踪、统计或个性化内容。 - adChannelId:很可能代表"广告渠道ID"或"内容分发渠道ID"。 - news:值表明这篇文章是通过"新闻"这个默认或主要渠道被访问的。这个参数常用于数据分析,统计流量来源。

从IP到域名的历程

幕后机制:DNS(域名系统)自动转换

虽然你看到的是域名,但浏览器实际通信时必须使用IP地址 。这个转换过程由 DNS(Domain Name System,域名系统) 自动完成,用户完全无感知:

  1. 你在浏览器输入 news.qq.com

  2. 浏览器向DNS服务器发起查询请求。

  3. DNS服务器返回该域名对应的IP地址(例如 123.45.67.89)。

  4. 浏览器使用这个IP地址(并默认使用端口443用于HTTPS)去连接腾讯新闻的服务器。

注意:服务端与客户端协议版本可能存在差异。这是为了适配大众化需求。(服务端、客户端是两款软件)

URL实例

显示图片

cpp 复制代码
else if(reqUri == "/1.png")
//在路径框中输入的"CSDN头像.png"浏览器解析出此信息发送
{
    rep_str.repTlgHeadSet ("Content-type", "png");
    clientfd->Send(SetPage (rep_str, 200, "./wwwroot/CSDN.png"));//文件名绝对不能有中文!!!
}

注意:

1.路径是中文(CSDN头像.png),浏览器传递给服务端是"CSDN%E5%A4%B4%E5%83%8F.png"

2.服务端中图片不可以是中文名称无法识别路径。

cpp 复制代码
clientfd->Send(SetPage (rep_str, 200, "./wwwroot/CSDN.png"));//路径内不可中文

3.一定是二进制读取方法(SetPage内)。

bash 复制代码
GET /CSDN%E5%A4%B4%E5%83%8F.png HTTP/1.1
Host: 122.152.208.179:8080
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7
[空行]
cpp 复制代码
else if(reqUri == "/CSDN%E5%A4%B4%E5%83%8F.png")
//在路径框中输入的"CSDN头像.png"浏览器解析出此信息发送
{
    rep_str.repTlgHeadSet ("Content-type", "png");
    clientfd->Send(SetPage (rep_str, 200, "./wwwroot/CSDN.png"));//文件名绝对不能有中文!!!
}

状态码

|---------|-------------------------|--------------|
| | 类别 | 处理 |
| 1XX | Informational(信息性状态码) | 接收的请求正在处理 |
| 2XX | Success(成功状态码) | 请求正常处理完毕 |
| 3XX | Redirection(重定向状态码) | 需要进行附加操作 |
| 4XX | Client Error(客户端状态码) | 服务器无法处理请求 |
| 5XX | Server Error(服务器错误状态码) | 服务器处理请求出错 |

状态码速查表

分类 状态码 含义 应用样例(你的示例)
信息响应 100 Continue 服务器已收到请求头,客户端应继续发送请求体。 上传大文件时,服务器先返回100,告知客户端可以继续传输数据。
成功响应 200 OK 请求成功,服务器返回所请求的资源。 访问网站首页,服务器成功返回网页HTML内容。
201 Created 请求成功,并创建了新资源。 发布一篇新文章,服务器处理成功并返回文章创建成功的确认信息。
204 No Content 请求成功,但服务器无需返回任何实体内容。 删除一篇文章后,服务器返回204状态码,表示操作成功且无需刷新页面内容。
重定向 301 Moved Permanently 请求的资源已被永久移动到新URL。 网站更换域名后,将旧域名所有请求永久重定向到新域名,同时通知搜索引擎更新索引。
302 Found 请求的资源临时位于另一个URL(常被用于临时重定向)。 用户登录成功后,服务器将浏览器重定向到用户个人中心首页。
304 Not Modified 资源未被修改,可使用客户端缓存的版本。 浏览器发起条件请求(如If-Modified-Since),若资源未变化,服务器返回304以节省带宽。
客户端错误 400 Bad Request 服务器无法理解请求,通常因请求语法或参数错误。 用户提交表单时,日期格式填写错误(如2026-13-32),服务器返回400错误。
401 Unauthorized 请求需要用户身份验证。 访问需要登录的页面时,未携带有效的认证凭据(如Token),服务器返回401要求登录。
403 Forbidden 服务器理解请求,但拒绝执行(权限不足)。 普通用户尝试访问管理员后台页面,服务器明确拒绝访问。
404 Not Found 服务器无法找到请求的资源。 用户在浏览器输入了一个不存在的文章链接,服务器返回经典的404页面。
服务器错误 500 Internal Server Error 服务器内部遇到意外情况,无法完成请求。 后端代码出现未捕获的异常(如数据库连接失败),导致服务器无法正常处理请求。
502 Bad Gateway 作为网关或代理的服务器从上游服务器收到无效响应。 部署了Nginx反向代理,但后端的应用服务器(如Tomcat)崩溃,Nginx会返回502错误。
503 Service Unavailable 服务器当前无法处理请求(过载或维护中)。 网站流量瞬间激增,或服务器正在进行停机维护,此时会返回503状态码。

HTTP常见的响应报头

  • Content-Type:数据类型(text/html等)
  • Conten-Length:正文有效长度
  • Host:客户端告知服务器,所请求资源在哪个端口上
  • User-Agent:声明当前用户的操作系统和浏览器版本信息
  • Refer:当前页面是从哪个页面跳转过来的
  • Location:搭配3XX使用告诉客户接下来区哪里访问
  • Cookie:由于在客户端存储少量信息,常用于实现会话功能。

由于HTTP的传输是"无状态,无链接"的,因此每次访问都需要验证身份(需要登录访问的内容),cookie正是为了解决这个问题而生的,本质是"暂存"。

cookie的性质

cookie具有"延时性",分作"内存级"(浏览器关闭及丧失)和"文件级"(存储在特定文件中)。

注意:现实中我们常常需要每隔一定时间重登一下信息,这是cookie重置的原因(存在有效期控制)。

感谢支持,长期连载

欢迎关注

相关推荐
民乐团扒谱机15 分钟前
【读论文】基于波分复用和时分复用的单纤高精度双向时间传递系统
运维·服务器·网络
南宫萧幕20 分钟前
计算机四级网络工程师:操作系统原理与计算机网络 · 综合知识点笔记
网络·笔记·计算机网络
秋风&萧瑟30 分钟前
【Linux系统编程】Linux IPC 的使用
linux·运维·网络
Shadow(⊙o⊙)34 分钟前
HTTP——服务端、客户端格式,浏览器解析
网络·tcp/ip·http
库玛西2 小时前
深入浅出传输层:UDP 与 TCP 协议全景指南
linux·服务器·网络·c++·笔记·tcp/ip·udp
STQY燊桐启元(深圳)电子科技11 小时前
医疗精密电源散热方案:相变陶瓷片保障医疗设备长效稳定低干扰
大数据·网络·人工智能
CDN36013 小时前
节点智能调度实操:解决出海区域访问快慢不均、节点拥堵、跨洋延迟高,CDN 全网择优落地方案
运维·服务器·网络
roman_日积跬步-终至千里14 小时前
【数据治理(6)】DataOps 不是调度工具,而是让数据产品长期可信的运行机制
java·服务器·网络
可乐鸡翅yeah_16 小时前
个人 / 外包流媒体项目交付实战,M3U8 验收与问题闭环完整工作流
运维·网络·python·低代码·django·m3u8·在线播放