做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可能需要知道的知识的更多相关文章

  1. cookie 和 session 的基础知识

    cookie 和 session 的基础知识 cookie 和session 的区别详解 这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会 ...

  2. IM开发基础知识补课(四):正确理解HTTP短连接中的Cookie、Session和Token

    本文引用了简书作者“骑小猪看流星”技术文章“Cookie.Session.Token那点事儿”的部分内容,感谢原作者. 1.前言 众所周之,IM是个典型的快速数据流交换系统,当今主流IM系统(尤其移动 ...

  3. 网络知识===cookie 、session、JSESSIONID的区别

    cookie .session ? 让我们用几个例子来描述一下cookie和session机制之间的区别与联系.笔者曾经常去的一家咖啡店有喝5杯咖啡免费赠一杯咖啡的优惠,然而一次性消费5杯咖啡的机会微 ...

  4. PHP7语法知识(四):目录文件操作、Cookie与Session、MySQL数据库的使用、Redis数据库、PHP处理XML与JSON

    目录文件操作 一.目录 1.判断文件类型: 2.创建和删除目录: 3.打开读取和关闭目录 4.获得路径中目录部分 5.目录磁盘空间 二.文件操作 1.打开文件: 2.读取文件: 3.获得文件属性: 4 ...

  5. 基础知识《十二》一篇文章理解Cookie和Session

    理解Cookie和Session机制 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定 ...

  6. C#基础知识之理解Cookie和Session机制

    会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端 ...

  7. django 中 cookie与session 相关的知识

    cookie :它是一个字典  

  8. cookie 和session 的区别详解

    这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...

  9. cookie与session的爱恨情仇

    这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...

随机推荐

  1. nginx错误汇总

    一.Nginx出现413 Request Entity Too Large错误解决方法 Nginx出现的413 Request Entity Too Large错误,这个错误一般在上传文件的时候出现, ...

  2. Async callback to awaitable Task<> z

    http://blog.tedd.no/2013/09/13/async-callback-to-awaitable-task/ The Async-Await feature in .Net is ...

  3. [转]用C#实现的条形码和二维码编码解码器

    条形码的标准: 条形码的标准有ENA条形码.UPC条形码.二五条形码.交叉二五条形码.库德巴条形码.三九条形码和128条形码等,而商品上最常使用的就是EAN商品条形码.EAN商品条形码亦称通用商品条形 ...

  4. 【原】日志处理-Spark

    日志信息如下所示: 1.1.1.1 - - [21/Jul/2014:10:00:00 -0800] "GET /majihua/article/284234 HTTP/1.1"  ...

  5. [转载]DOS循环:bat/批处理for命令详解 (史上虽详尽的总结和说明~~)

    --本文来源于TTT BLOG: http://www.yoyotao.net/ttt/, 原文地址:http://www.yoyotao.net/ttt/post/139.html 前言: 虽然以前 ...

  6. 韦东山yy公开课笔记(1)--各种杂的问题

    1,第四期的智能猫眼会有打电话和发短信的功能吗?   答:会有打电话功能,硬件上支持打电话就会支持发短信,只是软件上是否实现发短信现在未定.因为短信延迟太严重,不是可靠的. 2,请问关于makefil ...

  7. leetcode—triangle

    1.题目描述 Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adj ...

  8. openstack 镜像自动扩容 resize拉伸

    The simplest way to support this in your image is to install the cloud-utils package (contains the g ...

  9. NSDictionary或NSArray与JSON字符串相互转换

    在iOS 5 中,苹果引入了一个解析JSON串的NSJSONSerialization类.通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化. 以前,我记得我用的是 ...

  10. 关于easyui模拟win2012桌面的一个例子系列

    最近时间比较充裕,想到之前领导问我,什么界面更适合公司这种屏幕小但是又要求可以同时处理更多的工作. 我感觉  windows是最合适的,毕竟微软已经做了这么多年的系统了,人的操作习惯已经被他们确定了. ...