计算机网络期末复习——第2章:应用层 Part One

目录

  • [2.1 应用层协议原理](#2.1 应用层协议原理)
    • [2.1.1 网络应用程序体系结构](#2.1.1 网络应用程序体系结构)
    • [2.1.2 进程通信](#2.1.2 进程通信)
    • [2.1.3 可供应用程序使用的运输服务](#2.1.3 可供应用程序使用的运输服务)
    • [2.1.4 因特网提供的运输服务](#2.1.4 因特网提供的运输服务)
  • [2.2 Web和HTTP](#2.2 Web和HTTP)
    • [2.2.1 HTTP概况](#2.2.1 HTTP概况)
    • [2.2.2 非持续连接和持续连接](#2.2.2 非持续连接和持续连接)
    • [2.2.3 HTTP报文格式](#2.2.3 HTTP报文格式)
    • [2.2.4 用户与服务器的交互:Cookie](#2.2.4 用户与服务器的交互:Cookie)
    • [2.2.5 Web缓存](#2.2.5 Web缓存)
    • [2.2.6 万维网文档](#2.2.6 万维网文档)
    • [2.3 因特网中的电子邮件](#2.3 因特网中的电子邮件)
    • [2.3.1 SMTP](#2.3.1 SMTP)
    • [2.3.2 SMTP和HTTP的区别](#2.3.2 SMTP和HTTP的区别)
    • [2.3.3 邮件访问协议](#2.3.3 邮件访问协议)

2.1 应用层协议原理

2.1.1 网络应用程序体系结构

  1. C-S体系结构

    1. 客户是服务请求方,服务器是服务提供方

    2. 服务器总是处于运行状态,并等待客户的服务请求

    3. 服务集中型,即服务集中在比客户计算机少得多的服务器计算机上

      • 常出现服务器跟不上众多客户机请求的情况

      • 为此,常用计算机群集(或服务器场)构建虚拟服务器

    4. 缺点:成本高

  2. P2P体系结构

    1. 没有固定的服务请求提供者

    2. 服务分散型,即服务分散大量对等计算机,通常是个人控制的计算机中

    3. 自扩展性,系统性能不会因为规模的增大而降低

    4. 具有成本优势

    5. 缺点:安全性、性能、可靠性

2.1.2 进程通信

  1. 客户和服务器进程

  2. 发起通信的进程是客户,等待联系的是服务器

2.1.3 可供应用程序使用的运输服务

  1. 可靠数据传输

  2. 吞吐量

    因特网运输协议不提供

  3. 定时

    因特网运输协议不提供

  4. 安全性

2.1.4 因特网提供的运输服务

  1. TCP服务

    • 面向连接服务

    • 可靠数据传输服务

    • 拥塞控制

  2. UDP服务

    • 无连接

    • 不可靠数据传输服务

2.2 Web和HTTP

2.2.1 HTTP概况

  1. 超文本传输协议HTTP

    面向文本,有两类报文:请求报文和响应报文,都是ASCII

  2. URL

    统一资源定位符,指明因特网资源的位置

  3. 超文本传输协议HTTP,是Web的核心,由客户程序和服务器程序实现

2.2.2 非持续连接和持续连接

  1. HTTP 1.0

    • 非持续连接

    • 每请求一个文档就要有2倍RTT的开销(三次握手+响应报文)

  2. HTTP 1.1

    • 持续连接

    • 可采用流水线方式提升效率

2.2.3 HTTP报文格式

  1. 请求行

    方法 + sp + URL + sp + 版本 + cr + lf

  2. 首部行

    • 首部字段名 + sp + 值 + cr + lf

    • 可以多个首部行

  3. 实体体

2.2.4 用户与服务器的交互:Cookie

对无状态化的HTTP进行状态化的技术,使得万维网能够记住用户

2.2.5 Web缓存

  1. 可位于用户机或中间系统,位于中间系统的叫代理服务器

  2. 主机先向代理服务器发出请求,若代理服务器有存放所请求的对象,就直接发回包含所请求对象的响应。若没有,代理服务器再向原始服务器发出请求,原始服务器会把包含所请求对象的响应发回代理服务器,代理服务器将该响应存入Web缓存,然后给主机发回该响应。

  3. 使用conditional GET方法来检查是否修改,仅自指定日期后未修改对象,才发送该对象

2.2.6 万维网文档

  1. HTML

    超文本标记语言,描述网页结构和内容

  2. CSS

    层叠样式语言,审美角度描述网页样式

  3. JavaScript

    脚本语言(和Java无关)控制网页行为

2.3 因特网中的电子邮件

2.3.1 SMTP

  1. SMTP协议只能传送ASCII文本数据

    为解决传送非ASCII文件,提出多用途因特网邮件扩展MIME

  2. 发送与接收过程

    1. 使用SMTP发送邮件

      • 发送方用户代理作为SMTP客户端,和发送方邮件服务器进行TCP连接

        • 基于该TCP连接使用SMTP发送邮件
      • 发送方邮件服务器作为SMTP客户端,和接收方邮件服务器的SMTP服务器进行TCP连接

        • 基于该TCP连接使用SMTP发送邮件
    2. 使用POP3读取邮件

      • 接收方用户代理的POP3客户和接收方邮件服务器的POP3服务器进行TCP连接

        • 基于该TCP连接使用POP3读取邮件
    3. 用户代理能让用户及时接收任何时候的新邮件,而不用一直开着电脑

2.3.2 SMTP和HTTP的区别

    • HTTP是拉协议,用户从服务器拉取信息
    • SMTP是推协议,发送方邮件服务器把邮件推向接收方邮件服务器
    • HTTP没有限制
    • SMTP要求采用ASCII
    • 关于既包含文本又包含图形的文档

    • HTTP把每个对象封装到自己的HTTP响应报文中

    • SMTP把所有报文对象放在一个报文中

2.3.3 邮件访问协议

  1. POP3

    简单、功能有限,不允许用户在邮件服务器管理邮件

  2. IMAP

    • 用户可以在自己计算机远程操控邮件服务器中的邮箱

    • 允许用户代理只获取一部分报文

  3. POP3和IMAP都采用基于TCP连接的客户-服务器方式

  4. 基于万维网的电子邮件

    • 通过浏览器登录邮件服务器万维网网站就可以管理电子邮件

    • 用户浏览器与邮件服务器网站之间使用HTTP协议,邮件服务器之间使用SMTP协议


相关推荐
半夏知半秋14 小时前
rust学习-闭包
开发语言·笔记·后端·学习·rust
你喜欢喝可乐吗?15 小时前
FastAPI 入门笔记
笔记·fastapi
hkNaruto16 小时前
【AI】AI学习笔记:A2A(智能体协作)入门指南:从概念到实践
人工智能·笔记·学习
yj_sharing16 小时前
动手学深度学习softmax回归的笔记
笔记·深度学习·回归
暖暖木头16 小时前
playwright学习笔记
笔记·学习
hetao173383716 小时前
2026-01-06 hetao1733837 的刷题笔记
c++·笔记·算法
qq_3975623117 小时前
昆仑通态屏幕 , 脚本使用笔记
笔记
koo36418 小时前
pytorch深度学习笔记12
pytorch·笔记·深度学习
慕容雪_19 小时前
运维笔记-网络共享
运维·笔记·网络共享