网络应用

网络应用意味着需要有网络环境,一部分应用在本地运行(app/浏览器),数据跑在服务器上,两部分需要不断交互。

应用层体系结构

客户机/服务器结构 (Client-Server, C/S)

适合文件搜索

点对点结构(peer-to-peer,P2P)

适合文件传输

混合结构

 

网络应用基础

进程通信

同一主机上进程通信

  • 操作系统提供

不同主机进程通信

  • 报文交换

服务器进程:等待请求的进程

客户机进程:发送请求的进程

进程通过套接字(socket),抽象的使用TCP等服务

进程标识符:IP地址+端口号

通常可以表示为4元组:(客户端IP地址+客户端端口号)+(服务端IP地址+服务端端口号)

服务端如果开放一个80端口,本地有多少个端口就可以建立多少个连接。

 

三次握手

确保双方都能让对方知道自己能获取对方通信需要的最少通信次数。

1.client -- SYN --> server

2.client  <-- SYN/ACK -- server

3.client -- ACK --> server

四次分手

 先发完包的一方,发送主动断开连接请求 FIN,收到的一方回复ACK代表收到,

另一方如果也发完了包,也需要发送FIN请求,收到的一方回复ACK代表收到。

之所以不能把ACK和FIN合并成一个包,就是因为可能收到ACK的时候包还没发完,所以只能中止单向连接。

 相比三次握手最大的取别就是因为有数据发送的过程。

 

 

web应用

World Wide Web

网页包含多个对象

HTML文件(包含其他对象引用的链接)、图片、视频、动态脚本

对象寻址

URL:同一资源定位器,包含host name 和 path name

HTTP概况

Web的应用层协议

CS模式

HTTP 1.0: RFC 1945

HTTP 1.1: RFC 206

TCP传输服务

  • 使用服务器在80端口等待客户请求
  • 浏览器发起到服务器的TCP连接,创建套接字Socket
  • 服务器接收来自浏览器的TCP连接
  • 浏览器和服务器交换http消息
  • 关闭tcp连接

非持久性连接

(图)

持久性连接

 

(图)

无状态特点

不会维护任何有关客户端过去发送请求的信息,维护协议复杂,只要有一端死机,他们的状态就会不一致。

 

HTTP请求信息

(图)

HTTP响应状态码

  • 200 OK 请求成功
  • 301 Moved Rermanently 请求对象已被永久转移
  • 400 Bad Request 请求不能被服务器解读
  • 404 Not Found 请求的文档在该服务器上没有找到
  • 505 HTTP version Not supported

Cookie技术

使服务器掌握客户端状态

  • http的响应报文和请求报文都要增加cookie头部行
  • 保存在客户端主机上的cookie文件,由浏览器管理
  • web服务端的后台数据库

 可以实现的功能:购物车、推荐、用户验证、用户状态

隐私:

  • Cookies 允许站点知道许多关于用户的信息
  • 可能把它知道的东西卖给第三方
  • 使用重新定向和cookie的搜索引擎还能知道用户更多信息
  • 通过某个用户在大量站点上的行为,了解其个人浏览方式的大致模式
  • 广告公司从站点获取信息

WEB缓存/代理服务器

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

  • 缩短响应时间
  • 减少机构、组织流量
  • 在大范围内实现有效的分发

 

DNS 域名解析系统

将域名解析为ip地址

分布式层级式数据库

 

(图)

 

 

(图)

FTP

文件传输协议

FTP概况

  • 向远程主机上传输文件或从远程主机接收文件
  • CS模式
  • ftp: RFC 959
  • ftp 端口号 21

FTP传输服务

  • 通过TCP传输协议
  • 客户端通过控制连接获得身份确认
  • 客户端通过控制连接发送命令浏览远程目录

FTP的协议是有状态的,FTP协议的控制命令和数据传输分别在两个TCP上进行

Email

P2P

posted on 2022-04-04 14:24  MIXTAPE_208  阅读(159)  评论(0编辑  收藏  举报

导航