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

【深入理解计算机网络11】应用层详解:DNS,WWW,HTTP

目录

概述

客户/服务器(C/S)模型

P2P模型

DNS系统

域名

域名服务器

域名解析过程

递归查询

迭代查询

文件传输协议(File Transfer Protocol)

万维网(WWW)

组成

访问网页的过程

HTTP协议的工作方式

非持续连接

持续连接

超文本传输协议HTTP

报文格式

Cookie

概述

应用层对应用程序的通信提供服务。应用层协议定义

  • 应用进程交换的报文类型,请求还是响应?
  • 各种报文类型的语法,如报文中的各个字段及其详细描述。
  • 字段的语义,即包含在字段中的信息的含义。
  • 进程何时、如何发送报文,以及对报文进行响应的规则

应用层的功能

  • 文件传输、访问和管理
  • 电子邮件
  • 虚拟终端
  • 查询服务和远程作业登录

应用层的重要协议

  • FTP
  • SMTP、POP3
  • HTTP
  • DNS

客户/服务器(C/S)模型

服务器:提供计算服务的设备。

  • 永久提供服务
  • 永久性访问地址 / 域名

客户机:请求计算服务的主机。

  • 与服务器通信,使用服务器提供的服务
  • 间歇性接入网络
  • 可能使用动态 IP 地址
  • 不与其他客户机直接通信

应用:Web,文件传输 FTP,远程登录,电子邮件

P2P模型

  • 不存在永远在线的服务器
  • 每个主机既可以提供服务,也可以请求服务
  • 任意端系统 / 节点之间可以直接通讯
  • 节点间歇性接入网络节点
  • 可能改变 IP 地址,可扩展性好,网络健壮性强

DNS系统

人们通过记忆IP地址,并且通过IP地址去寻找网站是困难且麻烦的。如何让访问网站更加便利?

域名的出现解决了这个问题,可以通过简单的域名直接访问网站。那么由谁来实现域名到IP地址的转换呢?就是DNS(Domain Name System)系统

域名

一个域名的不同部分也是有层次划分的,分为顶级域名、二级域名、三级域名

例如www.csdn.com:com为顶级域名,csdn为二级域名,www为三级域名。出自之外,还有个在com之后,为一个“.”。可以说www.csdn.com的完整域名为www.csdn.com.

域名服务器

DNS 域名服务器是实现这一功能的服务器,主要分为以下几类:

  • 根域名服务器
    • 是 DNS 域名解析系统的最高层级
    • 全球共有 13 组根服务器,负责返回顶级域名服务器的地址
  • 顶级域名服务器
    • 负责管理顶级域名(如.com、.org、.cn 等)
    • 能返回权威域名服务器的地址
  • 权威域名服务器
    • 负责特定域名的解析
    • 存储并提供该域名下主机的 IP 地址等信息
  • 本地域名服务器
    • 由互联网服务提供商(ISP)配置
    • 作为用户主机的首选域名服务器,缓存解析结果以提高效率

域名解析过程

递归查询

首先查询本地域名服务器有没有目标IP地址,如果没有,则以本地域名服务器为客户端向根域名服务器发送请求。如果根域名服务器没有,则以根域名服务器为客户端向顶级域名服务器发送请求。如此递归下去知道权限域名服务器获得到IP地址,然后再顺着递归的路径返回。

迭代查询

先在本地域名服务器查询,然后一直以本地域名服务器为客户端。先向根域名服务器发送请求,本地域名服务器将根域名服务器返回的结果再向顶级域名服务器请求。本地域名服务器再拿顶级域名服务器返回的结果向权限域名服务器请求。本地域名服务器得到最终的结果在返回给原客户端。

高速缓存

  1. 域名服务器首次解析某域名时,会按正常流程(递归 + 迭代)获取 IP 地址,并将 “域名 - IP” 对应关系存入缓存。
  2. 为避免缓存数据过期失效,每条缓存记录会附带一个TTL(生存时间) ,由权威域名服务器设定(通常为几分钟到几小时)。
  3. 当再次收到相同域名的解析请求时,服务器先检查缓存:
    • 若缓存存在且未超过 TTL,直接返回缓存中的 IP 地址。
    • 若缓存不存在或已过期,则重新发起完整解析流程,并更新缓存。

文件传输协议(File Transfer Protocol)

  • 控制连接始终保持
  • 数据连接保持一会
  • 是否使用 TCP 20 端口建立数据连接与传输模式有关
  • 主动方式使用 TCP 20 端口
  • 被动方式由服务器和客户端自行协商决定(端口 > 1024)

万维网(WWW)

万维网(World Wide Web):是一个全球范围的、分布式、联机式的信息存储空间,资源通过HTTP协议传送给用户

组成

  • 统一资源定位符(URL)
    • URL = <协议>://< 主机 >:< 端口 >/< 路径 > —— 指向万维网上的某个特定资源
    • 端口、路径可以省去,因为有默认值,如:Web 服务器默认 80 端口,默认首页 (index.html)
  • 超文本传输协议(HTTP)
    • 应用层,基于 TCP。HTTP 协议定义了 “HTTP 请求报文”、“HTTP 响应报文” 两种数据结构
  • 超文本标记语言(HTML)
    • 一种文档结构的标记语言,使用一些约定的标记对页面上的各种信息(包括文字、图像、视频等)、格式进行描述

访问网页的过程

  1. 用户输入网址(域名)
  2. 浏览器通过 DNS 服务器查询域名对应的 IP 地址(浏览器会将查询结果 “域名→IP” 缓存到本地)
  3. 浏览器与 <Web 服务器 IP 地址:80 端口> 建立 TCP 连接
  4. 浏览器在握手3中携带 HTTP 请求报文(指明要访问哪个 html 网页)
  5. 服务器返回 HTTP 响应报文(携带 html 文件)
  6. 如果 html 引用了其他 n 个元素,还需 n 组 HTTP 请求 & 响应(持续、非持续工作方式有所区别)

HTTP协议的工作方式

非持续连接

建立TCP连接后,获得HTTP响应报文后就释放连接

持续连接

流水线

建立TCP连接后会一直持续,直到依次获取到所有的HTTP响应报文,然后再根据设置的时间参数断开连接。首先解析html文件,了解还需要获取多少元素,然后一次性发出所有的HTTP请求。

非流水线

建立TCP连接后会一直持续,直到依次获取到所有的HTTP响应报文,然后再根据设置的时间参数断开连接。每次只发出一个HTTP请求,得到响应后再发下一个。

超文本传输协议HTTP

报文格式

HTTP 请求报文中常用的几个方法

方法(操作)

意 义

GET

请求读取由 URL 标识的信息

HEAD

请求读取由 URL 标识的信息的首部

POST

给服务器添加信息(如注释)

CONNECT

用于代理服务器

Cookie

Cookie 是 Web 技术中用于在客户端(浏览器)存储少量数据的机制,主要用于实现用户身份识别、状态保持等功能,核心是在浏览器与服务器之间建立 “记忆” 关联。

服务器可以通过Cookie来判断当前通信的进程是哪个用户。

http://www.dtcms.com/a/486194.html

相关文章:

  • Linux----环境变量
  • 高可用架构实战:SpringBoot+MongoDB构建AI原生应用
  • 新疆维吾尔自治区第一届“丝路杯”网络安全大赛暨2026年新疆职业院校技能大赛网络安全赛项竞赛样题
  • 自定义层和读写文件
  • SQL Server 2019实验 │ 存储过程和触发器的使用
  • Font Awesome 方向图标详解
  • 在源码之家下载的网站模板可以作为自己的网站吗怎么提升网站流量
  • MySQL客服端工具
  • ElementUi【饿了么ui】
  • 五点法求解相机的相对位姿
  • 外贸网站推广工作哈尔滨建站
  • 网站右边跳出的广告怎么做dw网站建设基本流程
  • Excelize 开源基础库发布 2.10.0 版本更新
  • iOS 26 系统流畅度测试实战分享,多工具组合辅助策略
  • 智尚房产中介小程序
  • Kuboard突然各种proxy访问401解决
  • 自己做卖假货网站小程序怎么制作开发
  • 专业网站优化山西省城乡住房建设厅网站首页
  • 后端Node知识框架图(Node、Express、KoaNest)
  • 数据结构3:线性表2-顺序存储的线性表
  • TaskIQ 是什么,怎么做异步任务
  • 服务器CPU达到100%解决思路
  • 在 Claude Code 中设置 MCP 服务器(技术总结)
  • 网站上传根目录如何制作线上投票
  • 移动端网站建设的请示东莞科技网站建设
  • EtherCAT转CCLKIE工业通讯网关突破:三菱PLC实时调度EtherCAT伺服完成精密加工
  • 深度学习实验一之图像特征提取和深度学习训练数据标注
  • 基于Matlab的深度堆叠自编码器(SAE)实现与分类应用
  • @Scope失效问题
  • Service 网络原理