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

5.1 关于http与DNS的概念与操作

一、HTTP / HTTPS 基础

1. http与https的区别

  • HTTP:明文传输,端口80,不安全,容易被窃听、篡改、劫持。
  • HTTPS:HTTP + TLS/SSL 加密,端口443,数据加密传输,身份认证,防劫持。

2. get与post的区别

1)get的url可见,post不可以

2)get的参数是拼接在url中,post是在body体中

3)get回退页面没有什么影响,post需要重新发起请求

4)get可以缓存,post不可以

5)get数据大小限制在2k-4k左右,post是在php.ini设置参数

6)post比get更加安全

7)get产生一个TCP数据包,post产生两个TCP数据包(header、data)

3. 浏览器输入地址,到页面展示 的全过程

  • 浏览器输入url,解析url地址是否合法
  • 浏览器查看是否有缓存(浏览器缓存-系统缓存-路由器缓存),有就直接显示
  • 解析域名,获取对应的IP地址
  • 浏览器向服务器发送tcp连接请求,建立tcp连接
  • 握手成功后,浏览器向服务器发送http请求,请求数据包
  • 服务器收到处理的请求,将数据返回至浏览器
  • 浏览器解析收到的响应,如果响应可以缓存,则存入缓存
  • 浏览器发送请求,获取嵌入在HTML中的资源(html,css,JavaScript,图片,音乐等),对于未知类型,会弹出对话框
  • 浏览器发送异步请求
  • 页面全部渲染结束

4. HTTPS 工作原理

  • 客户端和服务器打招呼,交换随机数
  • 服务器发证书,客户端验证证书合法性
  • 客户端用服务器公钥加密一个密钥材料发过去
  • 双方算出相同的对称密钥
  • 之后所有数据都用这个密钥加密传输,安全可靠

5. 常用的http方法

  • GET:获取资源,参数在 URL,明文可见
  • POST:提交数据,参数在 body,更适合敏感数据
  • PUT:更新资源
  • DELETE:删除资源
  • HEAD:从服务端获取指定信息的头部
  • OPTIONS:查询针对请求URL指定的资源支持
  • TRACE:沿着目标资源的路径执行消息环回测试

6. WebSocket与 HTTP 的关键区别

特性WebSocketHTTP
通信模式全双工(双向同时)半双工(请求 - 响应)
连接持久长连接短连接(一次请求即断)
服务器推送支持不支持(只能被动响应)
头部开销极小(2–14 字节)大(数百字节~KB 级)
适用场景实时交互文档 / 资源加载

工作原理(两步)

  • 握手(基于 HTTP)客户端发 HTTP 请求,包含Upgrade: websocket,服务器返回101 Switching Protocols完成协议升级。
  • 数据传输握手后,双方用二进制 / 文本帧自由收发消息,直到主动关闭。

二、HTTP 状态码(必考)

按分类记:

1xx 信息性

  • 100 Continue:继续发送
  • 101 Switching Protocols:切换协议(如升级到 WebSocket)

2xx 成功

  • 200 OK:正常返回
  • 201 Created:创建成功
  • 204 No Content:无响应体
  • 206 Partial Content:断点续传

3xx 重定向

  • 301 Moved Permanently:永久重定向
  • 302 Found:临时重定向
  • 304 Not Modified:缓存未变化,使用本地缓存
  • 307/308:严格重定向,保留请求方法

4xx 客户端错误

  • 400 Bad Request:请求格式错误
  • 401 Unauthorized:未认证
  • 403 Forbidden:拒绝访问
  • 404 Not Found:资源不存在
  • 405 Method Not Allowed:方法不允许
  • 429 Too Many Requests:请求频率限制

5xx 服务端错误

  • 500 Internal Server Error:服务器内部错误
  • 502 Bad Gateway:网关错误
  • 503 Service Unavailable:服务不可用 / 过载
  • 504 Gateway Timeout:网关超时

一些小补充:
1. 304 怎么触发?浏览器缓存机制

1)触发条件:

客户端发送请求时带上缓存标识:

  • If-Modified-Since
  • If-None-Match

服务器检查:资源没变化→ 返回304 Not Modified浏览器直接用本地缓存,不下载内容。

2)浏览器缓存流程

  1. 先看强缓存Cache-Control / Expires
    • 没过期:直接用本地缓存,不发请求
  2. 强缓存过期 → 发请求带协商缓存头
    • 资源没变 → 304
    • 资源变了 → 200 + 新内容

2. DNS 污染是什么?

DNS 污染 =DNS 缓存投毒

  • 攻击者伪造 DNS 响应,让你把域名解析到错误 IP
  • 结果:你访问正常网站,却跳到恶意网站、广告页、钓鱼页。
  • 特点:污染的是递归 DNS 服务器缓存,不是你本机。

常见场景:

  • 公共 WiFi 劫持
  • 某些地区网络干扰
  • 恶意软件篡改 DNS

三、DNS 解析完整流程

1. DNS 作用

  • 域名 → IP 地址的映射
  • 分布式、层级域名系统

2. 完整解析流程(标准 8 步)

  1. 浏览器查自身缓存
  2. 查操作系统缓存(hosts 文件)
  3. 向本地 DNS 服务器(LDNS)发起查询
  4. LDNS 查自身缓存
  5. LDNS 向根域名服务器查询
  6. 根服务器返回顶级域服务器(如 .com)地址
  7. LDNS 向顶级域服务器查询
  8. 顶级域返回权威 DNS 服务器地址
  9. LDNS 向权威 DNS 查询,拿到最终 IP
  10. LDNS 缓存并返回给客户端
  • 根 DNS:只管顶级域(.com/.cn/.net)
  • 顶级域 DNS:管二级域名(baidu.com)
  • 权威 DNS:管具体域名解析,存真正 IP
  • LDNS:帮你代理查询,负责缓存
  • 本地缓存 /hosts:最快,优先级最高

3. 常见 DNS 记录

  • A 记录:域名 → IPv4
  • AAAA 记录:域名 → IPv6
  • CNAME:域名别名
  • NS:域名服务器
  • MX:邮件服务器
  • TXT:验证、SPF、DKIM
  • PTR:反向解析 IP → 域名

四、nslookup 详细讲解

1. 基本用法

直接查 A 记录(默认)

nslookup baidu.com

指定 DNS 服务器查询

nslookup baidu.com 8.8.8.8

查询指定类型记录

nslookup -type=mx baidu.com nslookup -type=ns baidu.com nslookup -type=aaaa baidu.com nslookup -type=cname www.baidu.com nslookup -type=txt baidu.com

交互模式

nslookup > server 8.8.8.8 > set type=mx > baidu.com

2. 输出结构

Server: 114.114.114.114 # 你使用的递归DNS Address: 114.114.114.114#53 Non-authoritative answer: # 非权威应答(来自缓存) Name: baidu.com Address: 223.119.241.111
  • Non-authoritative:不是域名的权威 DNS 回答,是缓存结果
  • Authoritative:权威 DNS 直接回答

五、dig 详细讲解

1. 最基础用法

dig baidu.com

2. 常用参数

查询指定记录类型

dig A baidu.com dig AAAA baidu.com dig NS baidu.com dig MX baidu.com dig TXT baidu.com dig CNAME www.baidu.com dig SOA baidu.com

指定 DNS 服务器

dig @8.8.8.8 baidu.com dig @1.1.1.1 baidu.com

只看关键答案

dig +short baidu.com

显示完整 DNS 解析路径

dig +trace baidu.com

3. dig 输出结构详解

典型输出分为 5 段:

1. HEADER(头信息)
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345 ;; flags: qr rd ra; QUERY:1, ANSWER:1, AUTHORITY:4, ADDITIONAL:1
  • status: NOERROR:查询成功
  • qr:响应报文
  • rd:要求递归
  • ra:服务器支持递归
  • ANSWER:返回几条记录
2. QUESTION SECTION(你问了啥)
;; QUESTION SECTION: ;baidu.com. IN A
3. ANSWER SECTION(服务器回答)
;; ANSWER SECTION: baidu.com. 324 IN A 223.119.241.111
  • 324:TTL(缓存时间)
  • IN:Internet Class
  • A:IPv4 记录
  • IP:最终地址
4. AUTHORITY SECTION(权威 DNS 服务器)

告诉这个域名由谁管理。

5. ADDITIONAL SECTION(附加信息)

一般是权威 DNS 的 IP。

六、总结概念

1. DNS是什么?(文中有说)

2. DNS端口是什么?采用的协议是什么?

  • 默认查询用UDP53
  • 查询用UDP,同步用TCP

3. DNS完整解析流程(文中有说)

http://www.jsqmd.com/news/784901/

相关文章:

  • mysql里面函数 unix_timestamp()的作用是什么,举例说明
  • 成都靠谱中央空调安装厂家排行 核心工艺与服务盘点 - 奔跑123
  • TPFanCtrl2:ThinkPad风扇控制的终极解决方案
  • 2026高端入户门十大品牌深度解读:精雕铸铝门十大品牌排名
  • OpenClaw-Diary:AI智能体开发的可观测性与结构化日志实践
  • 使用Python快速接入Taotoken调用多款大模型API的简明教程
  • 2026年5月人工气候室厂家推荐指南:种质资源库,组培室, 植物工厂公司优选! - 品牌企业推荐师(官方)
  • 贵州打砂机哪家靠谱?本土21年老品牌,全省9市州上门服务 - GrowthUME
  • XUnity.AutoTranslator终极指南:让所有游戏秒变中文版
  • 2026 佛山代运营公司实力榜单,全域赋能企业流量转化 - GrowthUME
  • 2026年Claude Code免费平替推荐:零成本拥有同级Agent能力
  • 碧蓝航线Alas脚本终极指南:5步快速上手,彻底解放双手告别肝船烦恼
  • CANN/pypto量化操作API
  • 混合现实硬件在环测试平台:自动驾驶验证新方案
  • 量子纠错技术H-VEC:原理与应用解析
  • 3步搭建终极个人游戏云端:Sunshine开源串流服务器完全指南
  • AI 时代,六年Java程序员转行做鸭
  • Agent Framework 定义流程节点以及节点的流式输出
  • 2026年GEO技术底座哪家强?T-GEO 5级标准深度拆解 - GrowthUME
  • Z-Image Turbo实战案例:营销文案配图一体化生成
  • AI驱动的网络安全渗透测试:原理、挑战与未来
  • CANN驱动AICPU信息获取
  • 强化学习与微随机化试验在移动健康干预中的融合应用
  • 边缘计算安全实战:从架构威胁到AI驱动的防护体系
  • Python项目打包实战:以MockingBird为例,详解cxfreeze的--packages参数如何解决第三方库依赖问题
  • 使用Taotoken CLI工具一键配置本地开发环境所需的所有API密钥
  • 在Node.js后端服务中集成Taotoken多模型API的步骤详解
  • 低比特量化技术:INT与FP格式性能对比与实践
  • AIGC率从94%降到7%:10款免费降ai率工具深度测评(附工具优缺点对比) - 殷念写论文
  • 2025年机器学习工作流中的7大AI代理框架解析