HTTP-NG

一、HTTP 存在的问题

(1) 复杂性:HTTP 相当复杂,而且其特性之间是相互依存的,要想正确地实现 HTTP 软件不是一件容易的事
(2) 可扩展性:HTTP 应用程序中没有自主的功能性扩展技术,使协议的扩展无法兼容
(3) 性能:HTTP 中有很多低效的特性会随着高时延、低吞吐量的无线访问技术的广泛使用而变得更加严重
(4) 传输依赖性:HTTP 是围绕 TCP/IP 网络协议栈设计的,对其依赖较多

二、HTTP-NG

(1) HTTP-NG 又名 HTTP/2.0 ,主要关注的是性能的大幅优化以及更强大的服务逻辑远程执行框架,但该版本还没有正式使用,尽管 HTTP-NG 工作组已经解散了,但它还是给出了 HTTP 未来一些潜在的发展方向
(2) 新特性:模块化,HTTP-NG 工作组建议将协议模块化为三层,而不是将连接管理、报文处理、服务器处理逻辑、协议方法全都混在一起
(3) 新特性:分布式对象,HTTP-NG 的很多基本原理和功能目录都是从 CORBA 和 DCOM 这样的结构化、面向对象的分布式对象系统中借鉴来的
(4) 新特性:WebMUX 标准,WebMUX 是一个复杂的高性能报文系统,通过该系统,可以在一个复用的 TCP 连接上并行地传输报文,可以对不同速度产生和消耗的独立报文流进行高效的分组,并将其复用到一条或少数几条 TCP 连接上去
(5) 新特性:二进制连接协议,使用二进制连接协议来提高下一代 HTTP 协议支持远程操作的能力

三、HTTP-NG 模块

(1) 第一层:报文传输层,不考虑报文的功能,而注重考虑报文的高效传输
(2) 第二层:远程调用层,定义了请求/响应的功能,客户端可以通过这些功能调用对服务器资源的操作
(3) 第三层:Web应用层,提供了大部分的内容管理逻辑,所有的 HTTP 方法和首部参数都是在这里定义的

时间: 2024-11-05 23:26:37

HTTP-NG的相关文章

嘿!@野兽,你的ng api 掉了 - - angular.forEach

@野兽的 ng api 学习 -- angular.forEach angular.forEach 调用迭代器函数取每一项目标的集合,它可以是一个对象或数组.迭代器函数与迭代器(value.key)一起调用,其中值是一个对象属性或数组元素的值,而数组元素是对象属性的关键或数组元素索引.为函数指定一个可选的上下文. 格式:angular.forEach(obj,iterator,[context]); obj:遍历的对象 iterator:迭代器 [content]: 对象为迭代器函数的上下文(t

java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFil

项目启动时报错:java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2的jar包版本号为2.1.8,所以类名是没有错误的,而jar包确实加入进去了.jar包加入的方式是通过user library. 问题解决的办法是:将jar包拷贝到WEB-INF下lib文件夹目录,重新启动tomcat问题解决. ================

ng build --aot --prod生成文件报错

Cannot read property 'create' of undefined when building with --prod or --aot 解决方案:改变zone.js的版本号为0.8.5: 然后删除dist ng_modules,然后重装下就可以正常使用了. /*更新angular-cli*/npm uninstall -g angular-cli npm cache clean npm install -g @angular/[email protected] /*更新引用r

ng $scope与$rootScope的关系

$scope与$rootScope的关系:①不同的控制器之间 是无法直接共享数据②$scope是$rootScope的子作用域对象$scope的id是随着控制器的加载顺序依次递增,$rootScope的id是1 ③不同控制器之间如何通信??1.借助于$rootScope2.既然子作用域对象可以调用父作用域对象的值或者方法,就可以通过控制器之间的嵌套来实现通信3.事件父->子$scope.$broadcast('eventName',args) 子->父$scope.$emit('eventNa

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

1.先建立一个项目2.在WebRoot中建立一个jsp,名为index.jsp,在里面写一句话 <body> hello struts2 <br> </body> 3.在后台写入代码 public class T { org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter f; } 4.在struts.xml中写入 <constant name="struts.devMo

嘿!@野兽,你的ng api 掉了 - - angular.uppercase和angular.lowercase

@野兽的 ng api 学习 -- angular.uppercase和angular.lowercase angular.uppercase 将指定的字符串转换成大写 格式:angular.uppercase(string); string:被转换成大写的字符串. 使用代码: var str = "ABCabc"; var upperCase = angular.uppercase(str);//ABCABC angular.lowercase 将指定的字符串转换成小写 格式:ang

ngLazyLoad——让ng项目实现controllers按需异步加载

最初的源码来自:https://github.com/atian25/angular-lazyload/ 但由于一些个人的原因(我有强迫症...)所以把代码的书写风格按照我平日的喜好修改了下 也顺便认真的阅读了一遍源码,按照自己的理解,把原来的英文注释替换成中文的了 毕竟不是原作者,对ng框架也不是特别的熟,注释中的用词可能有不少不正确的地方,欢迎指出 下面是我稍微修改了一下的代码: /* * angular-lazyLoad * 一个angular项目的按需异步加载服务模块 * 支持 [Sea

Advice for Applying Machine Learning &amp; Machine Learning System Design----- Stanford Machine Learning(by Andrew NG)Course Notes

Adviceforapplyingmachinelearning Deciding what to try next 现在我们已学习了线性回归.逻辑回归.神经网络等机器学习算法,接下来我们要做的是高效地利用这些算法去解决实际问题,尽量不要把时间浪费在没有多大意义的尝试上,Advice for applying machine learning & Machinelearning system design 这两课介绍的就是在设计机器学习系统的时候,我们该怎么做? 假设我们实现了一个正则化的线性回

Andrew Ng机器学习课程笔记(五)之应用机器学习的建议

Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.html 前言 学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新! 这篇博客主要记录了Andrew Ng课程第五章应用机器学习的建议,主要介绍了在测试新数据出现较大误差该怎么处理,这期间讲到了数据集的分类,偏差,方差,学习曲线等概念,帮

ng 依赖注入

将依赖的对象注入到当前对象,直接去使用依赖的对象即可. 降低耦合度.提高开发速度.. 文件压缩:yui-compressor有两种方案:①CLI(command line interface)java -jar **.jar **.js > **.min.js②webStormfile->settings->tools-->fileWatchers->点击+ ->选中yui compressor js-->设置program(点击按钮在弹窗中选中C盘根目录下的js