有关“无状态“的理解

一、什么是无状态?

http无状态还是web应用无状态?

我们通常说的web应用程序的无状态性的含义是什么呢?

直观的说,“每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求是无直接关系的,它不会受前面的请求应答情况直接影响,也不会直接影响后面的请求应答情况”这句话的含义是指在说明,采用http协议作为技术背景的web应用程序请求——应答模式是无状态的,这个事实基本不会发生改变,也不会因为加入cookies、session机制而变成有状态的。

这种前后因果关系:“我们要实现的是一种web应用,实现这种应用的协议我们选择了http这种本质上是无状态的通信协议。但是事实上,我们需要我们的web应用是有状态的。所以我们加入了cookies、session等机制去实现由状态的web应用”。所以我们可以这么理解:Web应用=http协议+sessioncookies等状态机制+其他辅助的机制。

 

我们做一个网络应用,需要使用网络协议。其实按照原理上讲,标准的TCP/IP协议提供给我们的网络层协议(FTP, HTTP)不能直接的被称为应用,因为在实现某种可用的、直接面向用户的应用的时候(如web应用,人们可以上网),只有http协议还是不够的。所以我们可以这么理解。网络标准协议分层中提供给我们的应用层协议,它更像是一种分类。自然界的应用可能是无穷尽的种类,但是根据他们的特点、传输的特色,标准的网络协议在传输层(通用网络协议)的基础上封装出若干种面向不同种类网络应用的协议。某种角度上讲,我们想要实现某种可用的网络应用,直接使用网络协议的传输层给我们提供的接口就可以了(也就是socket接口),但是有时候,这种方式是有些麻烦的,所以我们还是根据你要实现的web应用,在已有的标准协议中提供的面向应用分类的协议中进行选择。这样可以


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部