计算机网络(3)-应用层

文章目录

    • 1. 网络应用的体系结构
    • 2. 网络应用的进程通信
    • 3. 网络应用的需求与传输层提供的服务
    • 4. Web应用:HTTP协议

1. 网络应用的体系结构

  1. 客户机/服务器结构(C/S)
    计算机网络(3)-应用层_第1张图片

服务器: 7*24小时提供服务, 永久性访问地址/域名, 利用大量服务器实现可扩展性
客户机:与服务器通信,使用服务器提供的服务,间歇性接入网络,可能使用动态IP地址, 不会与其他客户机直接通信

  1. P2P体系结构

没有永远在线的服务器,任意端系统/节点之间可以直接通讯,节点间歇性接入网络,节点可能改变IP地址。优点:高度可伸缩,缺点:难于管理

  1. 混合结构
    计算机网络(3)-应用层_第2张图片

2. 网络应用的进程通信

在操作系统中已经提到,同一主机上运行的进程之间通过进程间通信机制进行通信。不同主机上的进程则通过消息交换或者报文交换进行通信。

  1. 进程间通信利用socket发送/接收消息实现
    计算机网络(3)-应用层_第3张图片
  2. 寻址进程过程:IP+端口号
    计算机网络(3)-应用层_第4张图片
  3. 应用层协议
    公开协议:HTTP SMTP
    私有协议: 多数P2P文件共享应用
    计算机网络(3)-应用层_第5张图片

3. 网络应用的需求与传输层提供的服务

  1. 应用层对传输层的需求:
    • 数据丢失/可靠性
    • 时间/延迟
    • 吞吐量:发送进程能够向接收进程交付比特的速率
    • 安全性:加密/解密
      计算机网络(3)-应用层_第6张图片
  2. 因特网提供的传输服务
    • TCP服务

      面向连接:在数据交换之前,先在客户机/服务器进程之间建立连接
      可靠性传输:无差错、按顺序的交付多有发送的资料。同时也存在流量控制、拥塞控制等。

    • UDP控制

      无连接
      不可靠的数据传输

      计算机网络(3)-应用层_第7张图片


4. Web应用:HTTP协议

计算机网络(3)-应用层_第8张图片

  1. 非持续连接和持续连接

    非持续连接:每个请求/响应经过一个单独的TCP连接发送,即每个TCP连接只传输一个对象
    持续连接:一段时间内,所有的请求和响应经相同的TCP连接发送,即每个TCP连接可以传输多个对象。

    计算机网络(3)-应用层_第9张图片
    计算机网络(3)-应用层_第10张图片
    响应时间:
    计算机网络(3)-应用层_第11张图片
    持续连接:
    计算机网络(3)-应用层_第12张图片

  2. HTTP消息格式:请求消息和响应消息

    1. 请求消息:
      计算机网络(3)-应用层_第13张图片
      计算机网络(3)-应用层_第14张图片
      请求方法类型:

    GET:上图中的entity Body 为空, 输入信息通过request行的URL字段上传,如:www.somesite.com/animalsearch?monkeys&banana
    POST : 表单提交(表单提交也可以get)等、在请求消息的消息体(entity Body )中上传客户端的输入。
    HEAD: 当服务器收到HEAD方法的请求时,将会用一个HTTP报文响应,但是并不返回请求对象,常用来调式跟踪。
    PUT: 将消息体重的文件上传到URL字段指定的路径中。
    DELETE: 删除URL字段指定的文件

    1. 响应消息
      计算机网络(3)-应用层_第15张图片
      计算机网络(3)-应用层_第16张图片
  3. 用户与服务器的交互:cookie
    之前说到,HTTP服务器是无状态的,但是Web站点希望能够识别用户,就用到了cookie。
    Cookie的组件
     HTTP响应消息的cookie头部行
     HTTP请求消息的cookie头部行
     保存在客户端主机上的cookie文件,由浏览器管理
     Web服务器端的后台数据库
    计算机网络(3)-应用层_第17张图片
    计算机网络(3)-应用层_第18张图片
    计算机网络(3)-应用层_第19张图片

  4. Web缓存/代理服务器技术
    功能:在不访问服务器的前提下满足客户端的HTTP请求。缩短客户请求的响应时间、减少机构组织的流量、 在大范围内(Internet)实现有效的内容分发(CDN)。
    计算机网络(3)-应用层_第20张图片

  5. 条件GET方法
    存在缓存器中的对象可能是陈旧的,HTTP协议采用了条件GET方法,允许缓存其证实它的对象是最新的.
    计算机网络(3)-应用层_第21张图片

  6. DNS应用
    计算机网络(3)-应用层_第22张图片

你可能感兴趣的:(计算机网络)