由 Session 和 Cookie 的区别说起
Session 和 Cookie 有什么区别?
最近面试被问到这个问题,和面试官一番讨论了解到面试官心里的答案后,我不太满意。
面对上面的问题,如果是刚毕业时的我,一定会毫不犹豫说出 Cookie 是存在客户端的,Session 存在服务器这个比较“标准”的答案。
现在么,我不打算探讨上面的问题,而是打算抓着 Session 说一说。
抽象层面,Session 的意义是会话。既然是会话,那就意味着每一次交流是有语境的,也就是有上下文的。
要做到这点,我们需要想办法保持(存储)会话的状态。
于是很自然的,我们想到下面的方案。
客户端持有一个门牌号,把会话信息存储在服务端,每次客户端都会带着钥匙发起请求,服务器通过门牌号,领客户端进入房间,就可以开始会话了。
那么客户端的门牌号存放在哪里呢?
在单页应用出现以前,所有数据都是通过服务器写进页面里,然后交给浏览器显示的,并且也没有 LocalStorage, SessionStorage 这样的存储空间供同一个域名下的前端页面们交流,于是这个门牌号就只能存放在 Cookie 里了。这大概就是 Session 和 Cookie 唯一的交集了。
如今,选择的余地大了很多。我们可以把门牌号放在 LocalStorage, SessionStorage 里,如果是单页应用的情况,还可以存放在内存里。
甚至,我们可以把整个会话用的房间也丢在客户端,如果不涉及机密事项的话。
所以 Session 只是一个抽象层面的技术概念,具体实现可以有很多种方案,使用 Cookie 只是其中一种,尽管最早设计出 Cookie 的原因或许正是这个。
以上。
本着讨论一定要出结果的原则,我还是给出开头抛出的问题的答案吧:
Session 跟 Cookie 的区别就像是 Java 跟 JavaScript,所以不要再提这个问题了。
转载于:https://www.cnblogs.com/LoadingChan/p/5051041.html
由 Session 和 Cookie 的区别说起相关推荐
- php session和cookie区别,php中session和cookie的区别是什么?
一.Session (1)Session的由来以及介绍 Session:在计算机中,尤其是在网络应用中,称为"会话控制",生存时间为用户在浏览某个网站时,从进入网站到关闭这个网站所 ...
- SESSION 与 COOKIE的区别是
有以下几点 1.session是存在服务器端,cookie是存在客户端 2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,所以session安全性要比cookie ...
- php禁用session和cookies,session与cookie的区别是什么?如果客户端禁用了cookie功能,将会对session有什么影响?...
cookie 和session 的区别: 1.cookie数据存放在客户的浏览器上,session数据放在服务器上. 2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE ...
- session与cookie的简单使用
嘛~最近在用php做网页的时候苦于每当跳转页面(即使是跳转回自己来更新显示内容)数据就会更新,看来不得不学一下session与cookie的使用了. 首先说一下session和cookie的区别吧. ...
- apache 设置session超时时间_深入分析 Session 和 Cookie,看这篇就对了
点击上方 "程序员小乐"关注, 星标或置顶一起成长 第一时间与你相约 每日英文 Promise yourself to be so strong that nothing can ...
- Session和Cookie的学习笔记2
<?php/*Cookie在计算机中保存的格式用户名@网站地址[数字].txtCookie在文件夹下,每个Cookie文件都是一个简单而又普通的文件件而不是程序,Cookie中的内容大多数据经过 ...
- 【转】session和cookie详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- php中的数据库操作和字符串操作session与cookie操作,php中的数据库操作和字符串操作session与cookie操作...
PHP面试干货 1.进程和线程 进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性.进程和线程的区别在于: 简而言之,一个程序至少有一个进程,一个进程至少有一 ...
- java cookie全解析(session与cookie的机制和原理)
http://www.cnblogs.com/agilework/articles/2290240.html 摘要:虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚 ...
最新文章
- 电话双音频拨号声音中的干扰信号
- linux安装软件不同用户名密码,Linux的安装和基本命令
- ASP.NET Core EFCore 之Code First
- 为什么文件名要小写?
- Java使用strategy模式构造程序
- PHPer面试指南-前言
- html中如何在标题中加样式,html title属性 样式
- 蚂蚁金服王旭:开源的意义是把社区往前推进一步
- 【思维题 单调栈】loj#2430. 「POI2014」沙拉餐厅 Salad Bar
- 第二百二十一节,jQuery EasyUI,Form(表单)组件
- Java web 实战项目案例
- 给 Android 开发者的 Kotlin 教程(一)
- C#程序设计第三版(李春葆)第12章文件操作课后习题答案
- 齐全的Latex表格样式(有斜杠)
- office如何从非第一页开始插入页码
- 论文写作——引言与语言表达
- 联萌十一大决战之如日中天 C. Cinderella(灰姑娘新编)
- python对话框大小_Python 版 AR 对话框
- Linux内核异常分析
- 【解决】Initializing libiomp5md.dll, but found libiomp5md.dll already initialized. matplotlib.pylot 画图报错