zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Cookie 与 sessonID

2023-09-11 14:20:46 时间

Http协议是无状态的,即服务端仅仅能通过你本次提交的http请求来给出响应。

cookie可用于服务端标记client。如登陆过后免输password,购物车实现等。

1.cookie

Cookie能够通过js代码生成,也能够通过HttpResponse头部中的Set-Cookie属性向浏览器说明。

注意格式为   

Set-Cookie: <name>=<value>[; <name>=<value>]...
                    [; expires=<date>][; domain=<domain_name>]
                    [; path=<some_path>][; secure][; httponly]

一个样例。chrome中的截图见下。

图1 响应报文头中的设置cookie字段

一个cookie由name、value、domain等属性组成,能够看下图的

得到了cookie,下次訪问的时候就会在Http请求里包括cookie,能够有非常多个cookie。



SessinID

本质仍是cookie。

sessionID在服务端相应一个对象。能够存出各种信息,一般放在内存中。

当client第一次请求session对象时候。server会为client创建一个session。并将通过特殊算法算出一个session的ID,用来标识该session对象,当浏览器下次(session继续有效时)请求别的资源的时候,浏览器会自己主动将sessionID放置到请求头中,server接收到请求后就得到该请求的sessionID,server找到该id的session返还给请求者(Servlet)使用。

微软的SessionID

jsp的sessionID


差别

cookie数据存放在客户的浏览器上,session数据放在server上。