当前位置: 首页 > news >正文

REST,http,服务器开发

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

表述性状态转移,英文叫Representational State Transfer,简称REST,是一种软件架构的风格。REST 定义了一组体系架构原则,您可以根据这些原则设计以系统资源为中心的 Web 服务,包括使用不同语言编写的客户端如何通过 HTTP 处理和传输资源状态。

这其中的东西太多,我也是刚接触。最近负责公司整个服务器架构和客户端网络插件的开发工作,对于这些我压力够大。

对于客户端和服务器端的业务交互,需要自己设计协议,对于服务器端需要基于一个网络模型开发服务器程序,现在比较流行也是效率最好的是异步事件驱动模型。无疑开发开发的工作量是很大的。自己设计的协议,需要能够应对以后业务的变化,网络驱动模型不是好写的,这是受一个android开发的教程的影响,其说的是基于HttpClient和servlet来实现客户端和服务器的交互。http协议是标准的应用层协议,其能够满足业务变化,服务器端的选择就更多了,Nginx就是一个很好的反向代理服务器,其连接客户端和服务器端业务程序,这样协议和网络驱动模块就解决了。下面需要我们全心做的就是业务程序的设计。

基于Http,我们的业务只能通过URL--统一资源定位符。客户端请求其实就是请求服务器端的资源。那么URL就是各个业务功能的区分,也可以是一个业务程序,那么http数据包就是业务功能的区分。http的无状态性是开发过程中的一个难点,其不具备状态的保存,那就需要通过缓存层来做,例如各种键值对的缓存层,其通过客户ID来保存在特定时间内的客户活动状态的保存。

十几分钟就憋出来这几句,大家见笑了。




转载于:https://my.oschina.net/u/854744/blog/418513

相关文章:

  • [WebKit] JavaScriptCore解析--基础篇 (一)JSC与WebCore
  • testbench的文件读写
  • JavaScript获取table中某一列的值的方法
  • 设计模式C++实现(14)——职责链模式
  • [BZOJ 1032][JSOI2007]祖码Zuma(区间Dp)
  • Ubuntu 14.04.02 安装深度音乐影音
  • vim中文帮助文档安装
  • 【oracle服务】
  • java操作protobuf
  • 搭建windows server 2008 r2 FTP 后 开启防火墙无法访问的解决办法
  • 解读ASP.NET 5 MVC6系列(4):核心技术与环境配置
  • Python学习(二) 运行Python,编译Python
  • hihoCoder #1094 : Lost in the City(枚举,微软苏州校招笔试 12月27日 )
  • bellman-ford算法
  • 北亚工程师详解数据恢复中RAID6结构
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • C++入门教程(10):for 语句
  • canvas绘制圆角头像
  • CentOS7 安装JDK
  • IndexedDB
  • JS学习笔记——闭包
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • React系列之 Redux 架构模式
  • SQLServer插入数据
  • Travix是如何部署应用程序到Kubernetes上的
  • VUE es6技巧写法(持续更新中~~~)
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 初识MongoDB分片
  • 警报:线上事故之CountDownLatch的威力
  • 前端js -- this指向总结。
  • 我的业余项目总结
  • 用 Swift 编写面向协议的视图
  • 再谈express与koa的对比
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (笔试题)分解质因式
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (六)Hibernate的二级缓存
  • (三十五)大数据实战——Superset可视化平台搭建
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (转)可以带来幸福的一本书
  • (转)为C# Windows服务添加安装程序
  • (转)详解PHP处理密码的几种方式
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .Mobi域名介绍
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换