zoukankan      html  css  js  c++  java
  • http无状态协议,cookie和session详解(一)

    1、HTTP无状态协议

    首先看百度百科给出的定义:

    HTTP无状态协议,是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,
    
    这样导致可能每次连接传送的数据量增大。另一方面,在的服务器不需要先前信息时它的应答较快。

    无状态:指一次用户请求时,浏览器、服务器无法知道之前这个用户做过什么,每次请求都是一次新的请求

    无状态原因:浏览器与服务器是使用socket套接字进行通信的,服务器将请求结果返回给浏览器之后,会关闭当前的socket连接,而且服务器也会在处理页面完毕之后销毁页面对象。

    2、简介

    客户端与服务器进行动态交互的Web应用程序出现之后,HTTP无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,登录状态、购物车都需要知道用户做了什么。于是,两种用于保持HTTP连接状态的技术就应运而生了,一个是Cookie,而另一个是Session。HTTP本身是无状态的连接协议,为了支持客户端与服务器之间的交互,我们就需要通过不同的技术为交互存储状态,而这些不同的技术就是Cookie和Session了。

    也就是说实现状态保持主要有两种方式:

    • 在客户端存储信息使用Cookie
    • 在服务端存储信息使用Session

    总结:

    无状态协议:

    1. 协议对于事务处理没有记忆能力
    2. 对同一个url请求没有上下文关系
    3. 每次的请求都是独立的,它的执行情况和结果与前面的请求和之后的请求时无直接关系的,它不会受前面的请求应答情况直接影响;也不会直接影响后面的请求应答情况。
    4. 服务器中没有保存客户端的状态,客户端必须每次带上自己的状态去氢气服务器
    5. 人生若只如初见

    只是为了相亲的时候,可以说一句,我虽然没车没房,但是我可以努力,我至少能拿两万一个月。

  • 相关阅读:
    MFC基于对话框的程序添加菜单
    iOS远程推送原理及实现过程
    基于SolrCloud的内容搜索和热点推送
    Android 常用抓包工具介绍之Charles
    帮你快速实现全景应用性能可视化
    Android常用抓包工具之TcpDump
    JAVA IO 序列化与设计模式
    《2015中国移动应用性能管理白皮书》欢迎来看
    利用听云Server和听云Network实测Kubernetes和Mesos在高并发下的网络性能
    魅族电商运维之路
  • 原文地址:https://www.cnblogs.com/itpython/p/10472772.html
Copyright © 2011-2022 走看看