计算机网络第二章 网络应用

Posted zhangyushuqing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络第二章 网络应用相关的知识,希望对你有一定的参考价值。

二.Web应用

1. Web:网页互相链接

1)网页

  ·对象:html文件、JPEG图片、视频文件、动态脚本

  ·基本HTML文件:包含对其他对象引用的链接

2)对象的寻址

  ·URL:统一资源定位器

  ·格式:Scheme://host:port/path(协议://主机:端口号/路径)

  ·一般省略协议即默认为HTTP

2. HTTP协议概述

1)超文本传输协议:HyperText Transfer Protocol

2C/S结构:客户请求、接收、展示Web对象;服务器响应客户请求,发送对象

3)使用TCP传输服务

  ·服务器在80端口等待客户请求

  ·浏览器发起到服务器的TCP连接(创建套接字Socket

  ·服务器接收来自浏览器的TCP连接

  ·浏览器与Web服务器交换HTTP消息

  ·关闭TCP连接

4)无状态协议:服务器不维护任何有关客户端过去所发请求的信息

3. HTTP连接

1)非持久性连接:每个TCP连接最多允许传输一个对象,每传输完一个对象需关闭TCP连接

  ·过程

    - 客户端向服务器进程(端口80)发起TCP连接请求

    - 服务器在端口80等待TCP连接请求,接受连接并通知客户端

    - 客户端将包含所需对象URLHTTP请求消息通过套接字发出

    - 服务器收到请求消息,产生包含所需对象的响应消息,通过套接字发回

    - 服务器关闭TCP连接

    - 客户端收到相应消息,解析并显示HTML文件,若发现其他超链接,重复以上步骤

  ·响应时间分析与建模:Total = 2RTT + 文件发送时间

  ·问题

    - 重复步骤耗费时间

    - 操作系统为多个TCP连接开销资源

    - 浏览器打开多个并行TCP连接,服务器负载过大

(2)持久性连接:每个TCP连接允许传输多个对象,发送响应后,服务器保持TCP连接的打开,后续HTTP消息通过此连接发送

  ·无流水持久性连接:客户端收到前一个响应后才发送新的请求,每个被引用的对象耗时一个RTT

  ·流水持久性连接:客户只要遇到一个引用对象就尽快发出请求,理想情况下收到所有引用对象只需耗时约1RTT

4. HTTP消息格式

1)请求消息

  ·ASCII编写,人直接可读

技术分享图片 

  ·通用格式

技术分享图片 

  ·上传输入:POST方法(在消息体上传),URL方法(通过URL字段上传)

  ·方法的类型:GETPOSTHEAD(请Server不要将请求对象放入响应消息中)、PUT(将消息体中文件上传到URL指定路径)、DELETE(删除URL所指文件)

2)响应消息

  ·响应状态代码:响应消息第一行,如404 Not Found

技术分享图片 

5. Cookie技术

(1)产生原因:解决因HTTP协议无状态而产生的问题

(2)具体定义:某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)

(3)组件

  ·HTTP响应消息的cookie头部行

  ·HTTP请求消息的cookie头部行

  ·保存在客户端主机上的cookie文件,由浏览器管理

  ·Web服务器端的后台数据库

(4)原理

  ·客户端使用常规HTTP请求消息

  ·服务器为客户创建ID,将其IP地址放到数据库里,设置cookie

  ·客户端在响应消息中增加cookie行标明ID

  ·服务器根据cookie做出面向客户的固定动作

(5)作用:身份认证、购物车、推荐、Email等,但具有隐私问题

6. Web缓存/代理服务器技术

(1)功能

  ·在不访问服务器的前提下满足客户端的HTTP请求

  ·缩短客户请求的响应时间

  ·减少机构/组织的流量开销

  ·在大范围内实现有效的内容分发

(2)结构

  ·用户设定浏览器通过缓存进行Web访问

  ·浏览器向缓存/代理服务器发送所有的HTTP请求,有则返回对象,没有则向原始服务器发送请求,获取对象,返回客户端并保存该对象

  ·缓存既充当客户端也充当服务器,一般由ISP架设

技术分享图片 

(3)示例

技术分享图片

  ·解决方案1:提升互联网接入带宽为10MbpsT = 2 + e (s)

  ·解决方案2:安装Web缓存,设命中率为0.4T = 0.6 × 2 + 0.4 × e < 1.4 (s)

(4)条件性GET方法

  ·目标:如果缓存版本是最新的,则不需要发送请求对象

  ·缓存:在HTTP请求消息中声明所持有版本的日期

  ·服务器:如果缓存版本是最新的,则响应消息不包含对象,状态代码为304 Not Modified

以上是关于计算机网络第二章 网络应用的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络第二章 网络应用

计算机网络-自顶向下 第二章 应用层

第二章网络应用

计算机网络-自顶向下方法第二章

网络操作系统第二章习题

计算机网络复习整理(第二章-1)