cookie和session可能需要知道的知识
做Android程序员,了解服务器的知识是相当重要的,比如cookie和session。
首先介绍一点背景知识,我们知道HTTP的连接是无状态的,HTTPS只是增加了安全,有了SSL证书来验证,作为服务器怎么通过HTTP来知道客户端的状态呢?
比如如何识别来访问的每个连接都是哪个客户发起的连接,只凭字段或许可以知道是哪个浏览器平台,但是区别每个用户是不可以的,当初设计浏览器的公司netscape就开发出了一种机制,名叫cookie,用cookie来记录唯一的客户。在cookie上面给每个到来的连接标上一个唯一的识别id,如果发现有了id,就针对进行操作,各种交互和用户友好性行为。cookie是存储在浏览器端的,由浏览器的W3C标准来保持,每次都是由服务器的response流addCookie然后到客户端,由浏览器去判断cookie的一些字段来进行对应的处理,比如是序列化还是存储在内存,如果存储在内存,那么当关闭浏览器cookie就消失了,有点类似于隐私模式。cookie可能有这么些字段,MaxAge:-1表示内存的时间,0表示清除cookie,整数表示多少时间(通常单位为second秒)。有些网站还会把用户的id和密钥放在cookie中,不过现在的密钥一般都会进行加密才写入到cookie中,服务器访问的时候也会进行解密,id也会进行加密,比如百度的就加密了。我们可以用js的语法查看cookie。
javascript:{cStr=document.cookie;alert(cStr);} 或者简单地写alert(document.cookie)
Hm_lpvt_6859ce5aaf00fb00387e6434e4fcc925=1448292821; Hm_lvt_6859ce5aaf00fb00387e6434e4fcc925=1448206648,1448210112,1448292821,1448292821; IK_4A9653CF7DB7ACF29B1600233C8E8039=5; IK_CID_1=1; IK_CID_74=1; IK_CID_83=1; IK_CID_84=1; IK_CID_95=1; BAIDUID=4A9653CF7DB7ACF29B1600233C8E8039:FG=1; BIDUPSID=CFBBD1FD07741EDF61F7570768B3694D; H_PS_PSSID=17518_1421_18155_17949_17971_18042_15208_11816_18087_10633; MCITY=-%3A; PSTM=1447961566
以上是获取的我地百度上面的cookie,毕竟客户端的东西还是可以用js来操作的。
W3C的标准保证了不会有跨域读取cookie,这里面我们想当然的会有一个钻漏洞的想法,既然服务器可以读取cookie,那么服务器可以不读取自己的,读取用户访问过得,那不是泄露了用户隐私吗?其实只要用户使用了W3C标准的浏览器,那么浏览器就会保证不会把不属于该域名的cookie传递给不相关域名的服务器。
session是服务器端的一种保存机制,在服务器端的内存中加载一些用户的信息,储存在数据库中,不过一旦并发连接数多了,那么对于服务器的负担将是比较重的。
对于客户端还是需要一个cookie,cookie里面有一个叫做jsessionid的东西,这个用来和服务器的一一对应,客户端记录的信息比较少。不过对于用户来讲,可以禁用cookie,这时候怎么做呢,选择在url地址上面做手脚,可以在url地址上面带入一些id记录信息什么的,这种参数是不影响客户访问浏览器的具体资源的,关键是服务器端要做好相应地记录。
重点来了,如果是APP端,应该怎么做呢?APP端怎么去使用cookie,没错,java中有相关cookie的类,在这里面进行cookie的接受和处理。代码待编辑---
cookie和session可能需要知道的知识的更多相关文章
- cookie 和 session 的基础知识
cookie 和 session 的基础知识 cookie 和session 的区别详解 这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会 ...
- IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token
本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动 ...
- 网络知识===cookie 、session、JSESSIONID的区别
cookie .session ? 让我们用几个例子来描述一下cookie和session机制之间的区别与联系.笔者曾经常去的一家咖啡店有喝5杯咖啡免费赠一杯咖啡的优惠,然而一次性消费5杯咖啡的机会微 ...
- PHP7语法知识(四):目录文件操作、Cookie与Session、MySQL数据库的使用、Redis数据库、PHP处理XML与JSON
目录文件操作 一.目录 1.判断文件类型: 2.创建和删除目录: 3.打开读取和关闭目录 4.获得路径中目录部分 5.目录磁盘空间 二.文件操作 1.打开文件: 2.读取文件: 3.获得文件属性: 4 ...
- 基础知识《十二》一篇文章理解Cookie和Session
理解Cookie和Session机制 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定 ...
- C#基础知识之理解Cookie和Session机制
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...
- django 中 cookie与session 相关的知识
cookie :它是一个字典
- cookie 和session 的区别详解
这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...
- cookie与session的爱恨情仇
这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...
随机推荐
- 安卓使用WIFI调试程序
不知怎么回事,USB老是掉,真心烦.于是想着用WIFI可不可以调试呢,去百度一搜,果然可以.下面我说一下我的方案. 1.使用APWIFI创建WIFI热点,用安卓手机连接该热点,试试手机可以上网不. 2 ...
- 一步步写STM32 OS【一】 序言
一直想写个类似uCOS的OS,近段时间考研复习之余忙里偷闲,总算有点成果了.言归正传,我觉得OS最难的部分首先便是上下文切换的问题,他和MCU的架构有关,所以对于不同的MCU,这部分需要移植.一旦这个 ...
- WinForm触摸屏程序功能界面长时间不操作自动关闭回到主界面 z
操作者经常会在执行了某操作后,没有返还主界面就结束了操作然后离开了,程序应该关闭功能窗体自动回到主界面方便下一位操作者操作.那么对于WinForm程序怎么实现呢? 实现原理:拦截Application ...
- vpn分配多ip的配置
1,创建vpn路由和远程访问 --配置并启用和路由远程访问--自定义配置--选择“vpn访问”,“nat和基本防火墙. 2,vpn配置ip路由选择(nat/基本防火墙)--新增接口(选择本地网卡)-- ...
- HDU4370 0 or 1 最短路
分析: 1001 (已更新) 显然,题目给的是一个0/1规划模型.解题的关键在于如何看出这个模型的本质.3个条件明显在刻画未知数之间的关系,从图论的角度思考问题,容易得到下面3个结论:1.X12+X ...
- @DataProvider ITestContext 参数
package roger.testng; import java.util.Random; import org.testng.ITestContext; import org.testng.ann ...
- SharePoint 命令使用集锦 (持续更新中...)
首先要定位到 cd "Program Files\Common Files\Microsoft Shared\web server extensions\14\BIN" 下面 ...
- c语言 字符版 简易2048
花了两个多小时,用最蠢的方法写的……最简陋版…… 还不确定这么写逻辑对不对…… #include <iostream> #include <cstdio> #include & ...
- MSSQL数字时间(timestamp)转换为DATETIME
很简单: , CAST('1970-01-01 00:00:00' AS datetime))
- 整理收藏一份PHP高级工程师的笔试题
整理了一份PHP高级工程师的笔试题,问题很全面.嗯,基本上这些题都答得不错,那么你应该可以胜任大部分互联网企业的PHP职位了.下面直接上题. 1. 基本知识点 HTTP协议中几个状态码的含义:503, ...