HTTP协议之Cookie和Session

Http是无状态协议,那么服务端如何识别特定的客户端呢?
注:无状态指HTTP协议自身不对请求和响应之间的通信状态进行保存。对发送过的请求和响应都不做持久化处理(即不做任何保存)

每次HTTP请求的时候,客户端都会发送相应的Cookie信息到服务端。
实际上大多数的应用都是用Cookie来实现Session跟踪的,第一次创建Session的时候,服务端会在HTTP协议中告诉客户端,需要在Cookie里面记录一个Session ID,以后每次请求把这个会话ID发送到服务器我就知道你是谁了。
如果客户端的浏览器禁用了Cookie怎么办?一般这种情况下,会使用一种叫做URL重写的技术来进行会话跟踪,即每次HTTP交互,URL后面都会被附加上一个诸如sid=xxx这样的参数,服务端据此来识别用户。

1.cookie是一种发送到客户浏览器的文本串句柄,并保存在客户机硬盘上,可以用来在某个WEB站点会话间持久的保持数据。
2.session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。Session其实是利用Cookie进行信息处理的,当用户首先进行了请求后,服务端就在用户浏览器上创建了一个Cookie,当这个Session结束时,其实就是意味着这个Cookie过期了。
注:为这个用户创建的Cookie的名称是sessionid。这个Cookie的唯一目的就是为每一个用户提供不同的身份认证。
3.cookie和session的共同之处在于:cookie和session都是用来跟踪浏览器用户身份的会话方式。
4.cookie和session的区别是:cookie数据保存在客户端,session数据保存在服务器端。

Cookie的工作过程
HTTP协议之Cookie和Session
HTTP协议之Cookie和Session