计算机网络笔记分享(第六章 应用层)

介绍
学习计算机网络的过程中,我整理了一些比较关键的、考试可能会考的点,有些具体的点可能没涉及到,希望对大家有所帮助!

六、应用层

6.1 域名系统DNS

地址解析,把域名变成IP地址

解析的两种查询方式

递归查询

迭代查询

6.2 文件传送协议FTP

基于TCP,因为文件传输不能出错

简单传输协议TFTP

阉割版,使用UDP数据报,只支持文件传输而不支持交互

6.3 远程终端协议TELNET

又称终端仿真协议,实现不复杂,现在很少使用

采用TCP连接,中间使用NVT格式,用于将用户的按键等输入进行转换,目标端能再转换成对应系统所需的格式

6.4 万维网WWW

大规模的、联机式的信息储藏所

就是站点链接到另一个站点,采用分布式

应用:比如点击带下划线的蓝色字,就会跳转到另一个网页
要是没有万维网,那么用户只能使用复杂命令来进行跳转,不能直接点链接

万维网是一个分布式的超媒体系统,是超文本系统的扩充,多了声音图像等

统一资源定位符URL

标记万维网上的不同文档

超文本传输协议HTTP

使用TCP连接,但本身HTTP无连接,即交换HTTP报文之前不需要先建立HTTP连接

  • 将HTTP请求报文作为TCP的第三阶段传过去,然后获得HTTP响应报文

无状态,浏览器不会记得用户曾经访问几次以及访问内容,每次访问时的响应都相同

代理服务器

中间加了层缓存,若缓存中有数据则直接响应给客户端,而不用再去互联网访问该资源

HTTP报文结构

1、开始行

  • 请求:请求行(方法(GET、POST…)、URL、版本、CRLF)
  • 响应:状态行(版本、状态码、短语、CRLF)

2、首部行

3、实体主体

  • 请求:请求体
  • 响应:响应体

Tips: 状态码包括

  • 200 ok
  • 304 重定向
  • 400 客户端错误
  • 500 服务端错误等
万维网的文档HTML

简单理解就是个网页
和前端的知识密切相关,学过点 html css js 的都清楚是啥东西,网上资料也一堆,我此处不再详细介绍。

万维网的信息检索系统

搜索引擎:万维网中用来搜索的工具(全文检索、分类检索)

博客和微博

博客blog是个人文档日记的共享

微博是微型博客,只有记录琐碎片段,针对一个问题进行回答

社交网站

facebook、youtube、tiktok …

6.5 电子邮件

简单邮件传输协议SMTP

互联网文本报文格式RFC

SMTP协议使用 TCP 作为其传输层协议

6.6 动态主机配置协议DHCP

提供 即插即用联网 的机制

计算机加入网络后就自动分配给它一个IP地址

现在每个网络至少有一个DHCP中继代理

6.7 简单网络管理协议SNMP

管理程序、进程之类的

6.8 应用进程跨越网络的通信

当应用进程需要使用网络进行通信时就发出系统调用,请求操作系统为其创建**“套接字”**,以便把网络通信所需要的系统资源分配给该应用进程。
操作系统为这些资源的总和用一个叫做套接字描述符的号码来表示。
应用进程所进行的网络操作都必须使用这个套接字描述符。
通信完毕后,应用进程通过一个关闭套接字的系统调用通知操作系统回收与该套接字描述符相关的所有资源。

几种常用的系统调用

当应用进程需要使用网络进行通信时,就发出系统调用。
使用 TCP/IP 应用编程接口 API,就可以编写基于互联网的网络应用程序了。
调用 API 时,用户可以使用 TCP 服务,也可以使用 UDP 等其他服务。
TCP 提供面向连接的服务。
使用TCP服务需要经历 3 个阶段:

  • 连接建立阶段
  • 数据传送阶段
  • 连接释放阶段

6.9 P2P应用

涉及文件的上传、下载

P2P软件是采用P2P原理,实现高速下载的软件,如:迅雷

相关推荐

  1. 计算机网络笔记分享 应用

    2024-07-09 19:24:05       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 19:24:05       53 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 19:24:05       55 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 19:24:05       46 阅读
  4. Python语言-面向对象

    2024-07-09 19:24:05       56 阅读

热门阅读

  1. QT配置opencv

    2024-07-09 19:24:05       27 阅读
  2. 如何高效学习(二)

    2024-07-09 19:24:05       30 阅读
  3. lvs集群(一)

    2024-07-09 19:24:05       28 阅读
  4. 使用Zookeeper实现分布式锁的最佳实践

    2024-07-09 19:24:05       25 阅读
  5. 每天一个数据分析题(四百十一)- 主成分

    2024-07-09 19:24:05       25 阅读
  6. python教程---网络爬虫

    2024-07-09 19:24:05       27 阅读
  7. Emacs 的优点及与 DE 的比较

    2024-07-09 19:24:05       21 阅读
  8. react VS vue

    2024-07-09 19:24:05       22 阅读