计算机网络期末复习——第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协议


相关推荐
一轮弯弯的明月6 小时前
TCP传输大致过程、流量控制与拥塞控制
网络·tcp/ip·计算机网络·学习心得
三水不滴8 小时前
Redis缓存更新策略
数据库·经验分享·redis·笔记·后端·缓存
ziqi52210 小时前
第二十四天笔记
笔记
马猴烧酒.10 小时前
【JAVA数据传输】Java 数据传输与转换详解笔记
java·数据库·笔记·tomcat·mybatis
ziqi52211 小时前
第二十五天笔记
前端·chrome·笔记
dalong1012 小时前
A11:plus 控件窗口绘图基础
笔记·aardio
历程里程碑12 小时前
Linxu14 进程一
linux·c语言·开发语言·数据结构·c++·笔记·算法
三水不滴13 小时前
Redis 持久化机制
数据库·经验分享·redis·笔记·缓存·性能优化
不断进步的咕咕怪13 小时前
meme分析
笔记
中屹指纹浏览器13 小时前
进程级沙箱隔离与WebGL指纹抗识别:指纹浏览器核心技术难点与工程落地
经验分享·笔记