zoukankan      html  css  js  c++  java
  • HTTP协议:无状态

    Blog:https://www.cnblogs.com/Rohn

    无状态

    HTTP是一种不保存状态,即无状态(stateless)协议。HTTP协议自身不对请求和响应之间的通信状态进行保存。也就是说在HTTP这个级别,协议对于发送过的请求或响应都不做持久化处理。

    可以理解为,浏览器发送请求给服务器时,服务器响应请求;但同一个浏览器再次请求时,服务器不知道这次请求的浏览器是否为上次那个浏览器,也就是服务器没有记忆浏览器的特征。

    无状态的状态是啥

    举个例子,老王在隔壁开了一家饭店,小明听说后就想尝尝这家饭店的手艺。吃完觉得还不错,决定明天再去。

    第二天,小明又去了饭店,结账的时候跟老板说:我昨天来消费过,今天可否给个优惠?

    无状态(stateless)

    老板答:你昨天来过吗?我没有印象了,抱歉不能给你优惠。

    有状态(Stateful)

    为了更好地吸引老顾客,维护好客源,老板决定把每个顾客记录下来。

    老板答:奥,稍等让我查一下记录……原来是你啊,行,给你88折,欢迎下次惠顾!

    总结

    由上可知,这个状态就是客户端的状态。

    Cookie和Session

    如何保存客户端的状态?实现的方式有两种,分别是Cookie和Session。

    Cookie是通过客户端保持状态的解决方案。

    从定义上来说,Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。

    Session

    Session是通过服务器来保持状态的。

    Session指的是服务器端为客户端所开辟的存储空间,在其中保存的信息就是用于保持状态。

    客户端第一次访问时,服务器会为这个客户端创建唯一特征码,也就是SessionID,客户端再次请求的时候,服务器会根据SessionID在服务端的数据库中查询,若有这个SessionID,则会做出相应响应。

  • 相关阅读:
    Django-Auth组件
    Django-choice用法
    Django-Cookie和session组件
    Django-DRF
    Django-DRF分页器
    Django-DRF全局异常捕获,响应封装,自动生成接口文档
    Java学习路线一张图足够
    Java基础内容总结
    java基础学习之反射反射的基本概念及使用
    Java基础的方法使用详解
  • 原文地址:https://www.cnblogs.com/Rohn/p/13507962.html
Copyright © 2011-2022 走看看