session实现原理(阿里面试题)
问: 当用户登录某网站后,向服务器发送一个请求,服务器如何判断是这个用户请求的
首先,你要明白一点,最初http协议在设计的时候,主要面向当时的web1.0网站,他们不需要知道是谁来访问,只需要向外界提供相应的web服务即可. 但是,在web2.0的网站中,用户和网站发生相关的信息交互.所以,web服务提供者需要知道,是谁发起了请求.也就是,服务端有能力从http数据包中提取用户的相关信息.
现在一般采用使用服务器端产生的Session结合浏览器的Cookie.实现用户与客户端之间唯一秘钥,上面的PHPSESSID的值就是相关的session ID与cookic结合的相关信息.
一般来说包括以下4个步骤:
1.服务器端的产生Session ID
2.服务器端和客户端存储Session ID
3.从HTTP Header中提取Session ID(发送的是一个COOKIC值)
4.根据Session ID从服务器端的Hash中获取请求者身份信息
session实现原理(阿里面试题)的更多相关文章
- Session 的原理及最佳实践
		Http协议是基于请求和响应的一种无状态的协议,而通过session可以使得Http应用变得有状态,即可以"记住"客户端的信息.今天就来说说这个session和cookie. Se ... 
- Cookie和Session的原理和异同
		Cookie和Session的原理和异同 原理: cookie: 1.创建Cookie 当用户第一次浏览某个使用Cookie的网站时,该网站的服务器就进行如下工作: ①该用户生成一个唯一的识别码(Co ... 
- COOKIE和Session的原理及异同
		COOKIE和Session的原理及异同 1. cookie的创建和读取 cookie是客户端技术,服务器把每个用户的数据以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的w ... 
- 深度解剖session运行原理
		已经大半年没有更新博客了,一方面有比博客更重要的事情要做,另外一方面也没有时间来整理知识,所以希望在接下来的日子里面能够多多的写博客来与大家交流 什么是session session的官方定义是:Se ... 
- atitit.session的原理以及设计 java php实现的异同
		atitit.session的原理以及设计 java php实现的异同 1. session的保存:java在内存中,php脚本因为不能常驻内存,所以在文件中 1 2. php的session机制 1 ... 
- session工作原理
		什么是Sesson? 这个是状态保持三大对象之一! 原意是会话,会议的意思! 就是你打开浏览器到关闭浏览器 这期间称为一个会话,也就是一个session, 它是保存在服务器端的. 每当客户端请求页面时 ... 
- Spring Session工作原理
		本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/KCOFv0nRuymkX79-RZi9eg 作者:张正林 目录:1.引入背景2.使用方法3.工作流程 ... 
- 正确理解cookie和session机制原理
		php中cookie和session是我们常用的两个变量了,一个是用户客户端的,一个用在服务器的但他们的区别与工作原理怎么样,下面我们一起来看看cookie和session机制原理吧. cookie和 ... 
- 描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
		Session用于保存每个用户的专用信息. 每个客户端用户访问时,服务器都为每个用户分配一个唯一的会话ID(Session ID) . 她的生存期是用户持续请求时间再加上一段时间(一般是20分钟左右) ... 
随机推荐
- 操作 实例 / dom
			响应式:数据改变时会触发其他联动.例如:模板中的数据绑定:计算属性的重新计算: ---------------------------------------------------- vm.$par ... 
- CAtia_打开提示:许可证过期怎么办
			CAtia_许可证过期怎么办:进计算机管理,点开服务和应用程序,点服务,找到DS License Server,在启动此服务的地方点启动,从而开启DS License Server. 
- cpanm Plack相关
			1.curl -L https://cpanmin.us | perl - --sudo App::cpanminus 参考:https://metacpan.org/pod/App::cpanmin ... 
- Python txt文件读取写入字典的方法(json、eval)
			link:https://blog.csdn.net/li532331251/article/details/78203438 一.使用json转换方法 1.字典写入txt import json d ... 
- ubuntu安装rabbitmq(转)
			查看ubuntu当前版本命令: cat /etc/issue 由于rabbitMq需要erlang语言的支持,在安装rabbitMq之前需要安装erlang,执行命令: sudo apt-get in ... 
- 吴裕雄 python 机器学习——岭回归
			import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model from s ... 
- “AS3.0高级动画编程”学习:第一章高级碰撞检测
			AdvancED ActionScript 3.0 Animation 是Keith Peters大师继"Make Things Move"之后的又一力作,网上已经有中文翻译版本了 ... 
- 【练习】Python第四次:实现对文件的增删改查
			一,实现对文件的增删改查 (一),三级菜单的处理结构及退出技巧:使用TAG标记 tag=True while tag: print('leve1') choice=input("level1 ... 
- Html 内容
			1.Html就是超文本标记语言的简写,是最基础的网页语言. 2.Html是通过标签来定义的语言,代码都是由标签组成的. 3.Html代码不用区分大小写. 4.Html代码由<html>开始 ... 
- 【转】linux服务器性能查看
			转载自https://blog.csdn.net/achenyuan/article/details/78974729 1.1 cpu性能查看 1.查看物理cpu个数: cat /proc/cpuin ... 
