一分钟解惑:上万个用户请求,服务器如何区分

上万个用户请求,服务器如何区分

一分钟通俗解释:

         ①当浏览器首次访问服务器时,服务器会为客户端创建一个session(每个用户独有的房间,用来存放这个对象的相关信息和内容),并通过特殊算法算出一个sessionID(类似于双方都知道的唯一暗号),用来标识该session对象。

         ②当浏览器再次(session还在有效时间内)向服务器请求资源的时候,浏览器将sessionID和请求内容一起发送到服务端。服务端通过对比自身存储的sessionId来判断用户之前是否存在,并返回对应的内容给不同用户。

                         ③因为标识符存在内存里,所以当浏览器关闭时,浏览器保存的sessionId就会消失。服务器将匹配失败,默认为此请求是新用户提出的,如上文顺序,重新创建一个session容器,和相应的唯一sessionId,返回给浏览器。

一分钟专业解释:          

                       ① 服务器在响应头内加上”Set-Cookie:XXXXXXXXXXXXX“(相当于一个唯一的ID符),此信息是服务器随机生成的,放在服务器内存里,不会重复,这就是sessionid。
                      ②当浏览器得到这个sessionid会将它放在自己的进程内存里,.然后你继续发请求给这个网站的时候,浏览器就会把这个sessionid放在请求头里发送给该服务器了,这样服务器得到sessionid后再和自己内存里存放的sessionid对比锁定客户端,从而区分不同客户端,完成会话. 
                      ③关闭浏览器结束进程,则这个sessionid将消失,如果用户又打开浏览器想继续这次会话的时候,就会因为发送的请求中没有这个sessionid,而使服务器无法辨别请求身份。 

一分钟思考:

                     ①:服务器是否会一直保存这个sessionId?

                     ②:如果获取其它浏览器的sessionId,是不是也等同于获取那个用户的相同权限

                     ③:有个东东叫cookie,它和session有什么区别

一分钟解释:

                   另类的资料总结,不喜勿喷。


   

你可能感兴趣的:(javaweb基础)