网络应用随处可见,任何时候浏览Web、发送E-mail信息或玩在线游戏,都会使用网络应用程序。有趣的是,所有的网络应用都是基于相同的基本编程模型,有着相似的整体逻辑结构,并且依赖相同的编程接口。

每个网络应用都是基于 客户端-服务器 模型的。采用这个模型,一个应用是由一个服务器进程 和 一个或多个客户端进程组成。服务器管理某种资源,并且通过操作这种资源来为它的客户端提供某种服务。

如一个Web服务器管理者一组磁盘文件,它会代表客户端进行存储和检索。相似地,一个电子邮件服务器管理着一些文件,它为客户端进行读和更新。

客户端-服务器模型中的基本操作是事务(transaction),一个客户端-服务器事务由以下四步组成:

  1. 当一个客户端需要服务时,它向服务器发送一个请求,发起一个事务。如当Web浏览器需要一个文件时,它就发送一个请求给Web服务器;
  2. 服务器收到请求后,解释它,并以适当的方式操作它的资源。如当Web服务器收到浏览器发出的请求后,它就读一个磁盘文件;
  3. 服务器给客户端发送一个响应,并等待下一个请求。如Web服务器将文件发送回客户端;
  4. 客户端收到响应并处理它。如当Web浏览器收到来自服务器的一页后,就在屏幕上显示此页。

需要注意的是,客户端和服务器是进程,而不是常提到的机器或主机。一台主机可以同时运行多个不同的客户端和服务器,而且一个客户端和服务器的事务可以在同一台或不同的主机上。无论客户端和服务器是怎样映射到主机上的,客户端-服务器模型都是相同的。

从服务器检索时出错dfdferh01_基于客户端-服务器的网络编程模型相关推荐

  1. 从服务器检索时出错dfdferh01_大数据实战项目之海量人脸特征检索解决方案演进...

    1. 概述 人脸识别技术在最近几年得到了长足进步,目前在人脸识别领域业界领先的厂家识别准确率均达到了99%以上,因此大量人脸相关的应用场景开始逐步落地,例如人脸支付.人员布控.寻找失踪人口等,此外,结 ...

  2. SQL Server provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错

    在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: SQL ...

  3. Artifact springmvc-01-servlet:war exploded: 部署工件时出错。请参阅服务器日志

    有自己思想,拒绝纯复制黏贴!!! 有自己思想,拒绝纯复制黏贴!!! 有自己思想,拒绝纯复制黏贴!!! 这里说个题外话,现在网上有一种现象让我深恶痛绝,就是很多网友对别人所发的博文不加验证,便进行纯复制 ...

  4. provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错

    1.错误描述 ===================================无法连接到 SKY-20160824VTF\SQLEXPRESS.========================= ...

  5. 基于C语言的网络编程笔记分享

    网络编程 OSI模型与TCP/IP协议体系结构 OSI模型 七层 理想化模型(并不是真正使用的模型,有参考价值) 应用层 数据处理 表示层 数据的加密解密ASCII -> 电信号 -> A ...

  6. step5 . day2 网络编程 基于TPC协议的网络编程流程及API

    基于TCP协议的网络编程流程 服务器端: 1) socket(),创建套接字文件,用于连接 2) bind(), 绑定,把socket()函数返回的文件描述符和IP.端口号进行绑定; 3) liste ...

  7. 基于Linux的socket网络编程项目——游侠手机商城

    基于Linux的socket网络编程项目--游侠手机商城 一.项目说明 二.项目使用的技术 三.客户端搭建 四.服务器端搭建 一.项目说明 本项目是一个仿真手机商城类系统,基本功能: 登录界面功能:用 ...

  8. 工件SSMwar exploded 部署工件时出错。请参阅服务器日志了解详细信息

    今天往web.xml中添加一个Listener监听器就出现了异常 Tomcat服务器启动时工件部署失败 查看日志得知是没有注入引用dao层的bean: org.springframework.bean ...

  9. 工件SSM:war exploded: 部署工件时出错。请参阅服务器日志了解详细信息

    今天往web.xml中添加一个Listener监听器就出现了异常 Tomcat服务器启动时工件部署失败 查看日志得知是没有注入引用dao层的bean: org.springframework.bean ...

最新文章

  1. php设置backlog,高并发调优backlog多大合适?
  2. php sha256hex,crypto/sha256(加密/sha256)
  3. 剑指Offer - 九度1367 - 二叉搜索树的后序遍历序列
  4. Android之录音--AudioRecord、MediaRecorder
  5. Django之model补充:一对多、跨表操作
  6. python绘制数字23_Python 画数码数字8
  7. vlookup两个条件匹配_vlookup,你还是只会基础的单条件查找?
  8. 卷积神经网络CNN是靠什么线索学习到深度信息的?
  9. PHP+MySql+PDO小案例—文章管理系统
  10. Android多进程之Binder的意外死亡及权限校验
  11. 俺的web课设大作业
  12. [Android] 小男孩短视频去水印新版来了,支持18多个短视频平台去水印例如抖音快手微视皮皮虾等...
  13. delphi webservice 内存释放_2020年7月——内存天梯图
  14. jquery fadein css同时用,Fadein,fadeout事件一起使用jquery
  15. 微信内置浏览器支付流程
  16. python绘制相频特性曲线_数据分析之Matplotlib和机器学习基础
  17. python:split()函数
  18. 经典sql基本语句大全
  19. C++ map / multimap容器
  20. 3090人工神经网络工作站配置

热门文章

  1. 给老板解释解释,为什么要用SpringCloud alibaba作为微服务开发框架???
  2. Redis 分布式锁遇到的序列化问题
  3. Excel和Word 简易工具类,JEasyPoi 2.1.5 版本发布
  4. maven项目中整合grunt构建工具(二)-js合并、压缩技术
  5. Linux 给新用户授予、设置Tomcat目录的使用权限
  6. JSF 源代码赏析之Lifecycle
  7. 数据全景洞察概念简介
  8. 文件I/O实践(3) --文件共享与fcntl
  9. python之路day03--数据类型分析,转换,索引切片,str常用操作方法
  10. 项目研发流程及管理之我见