zoukankan      html  css  js  c++  java
  • cookie和session

    因为HTTP协议是无状态的,为了记录用户状态信息,需要采取一些措施。

    session,会话,是一种服务端和客户端之间的状态关联。

    服务端使用session探知分辨客户端信息。第一次创建session的时候,服务端会把session id发到客户端,客户端把这个id记录在本地cookie里,以后请求的时候带着这个session id。

    (如果客户端禁用cookie,则可以使用url重写技术,在url后面附加上诸如sid=xxxx这样的参数,方便服务器识别用户)

    所以session的实现需要客户端和服务端的配合。在服务端,服务器需要存储session id和对应的用户数据。

    客户端需要从服务端获取session id,以后请求的时候带着这个发出。

    综上所述,cookie是客观存在的,session是一个。

    session的实现要依赖cookie。session的实现方式(后端存储,设置cookie等)有很多种方法

    关于cookie的设置,是通过服务器返回的 Set-Cookie 字段来设置的,这个字段的形式如下:

    Set-Cookie: value[; expires=date][; domain=domain][; path=path][; secure]

    可以看到,在这里能够设置失效日期,应用cookie的url,标志通过ssh,https生成等

    之后客户端请求的时候,请求字段中包含的cookie如下:

    Cookie: value

    cookie的缺点有:给请求增加流量,存储在客户端,有安全性问题(除非https),大小限制在4kb等。

    如果服务端向客户端返回了加密cookie,服务端能够验证这个cookie,那么就能提升cookie的安全性

  • 相关阅读:
    workerman需要的php模块posix、pcntl、sysvshm、sysvmsg缺少,怎么办
    Linux操作:
    推荐!手把手教你使用Git
    Ninject简介(转)
    新年奉献MVC+EF(CODEFIRST)+EASYUI医药MIS系统(转)
    微软开源代码
    .NET分布式事务处理(转)
    IIS负载均衡(转)
    借助LVS+Keepalived实现负载均衡(转)
    WCF和ASP.NET Web API在应用上的选择(转)
  • 原文地址:https://www.cnblogs.com/geeklove01/p/8516807.html
Copyright © 2011-2022 走看看