首页 > Web开发 > 详细

54 HTTP-session;55 HTTP-Cookie

时间:2020-02-16 02:13:05      阅读:77      评论:0      收藏:0      [点我收藏+]

54 HTTP-session

功能:解决HTTP中无状态的缺陷;

无状态: 服务器不知道客户端情况,于是认为每一次访问、请求都是一次全新的请求;比如对于需要登录的系统,登录系统之后的每一步操作,系统都认为是全新的操作,每次都要重新登录。而session 保存了客户端的登录状态,这样就不需要重复的多次登录。

 

工作机制

  1. 客户端访问服务器时,服务器分配SESSIONID,服务器记录登录信息,并将保存信息的文件SESSIONID 保存到服务器,之后服务器根据客户端的SESSIONID和本地记录的文件判断浏览器的登录状态。
  2. Set-Cookie : SESSIONID = 32 位的16进制数字,= 16的32次方,重复的概率很低,可以当做唯一性标识;
  3. SESSION 是用来记录浏览器状态的,服务器会给访问的浏览器分配一个SESSIONID,之后会根据SESSIONID来识别浏览器;
  4. SESSIONID 保存在tmp文件中(以SESSIONID 命名的文件;服务器所在目录的tmp文件,不是浏览器本地的文件);并且该文件记录了登录用户的信息;
  5. userID|s:1:"1"  = 表示 userID 是string 格式,长度 = 1,= 1;
  6. 如果将“isLogin ” 的值 由 “true” 修改为“false”, 此时点击页面时,系统返回登录界面,要求重新登录;

 

注意:

  1. 输入网址的时候,尽量写的完成;http://localhost/agileone 不是一个完整的网址,访问的时候,浏览器先redirect, 在网址后添加“/”,然后才能到目标网址;而重定向会花费很长的时间;
  2. 对于大型网站,可能会有十几万个session,如果保存到硬盘,性能低,寻址速度慢;客户端迟早是要离开页面的,所以将sessionID文件 保存到内存中,不需要长时间记录;也可以放到关系型数据库中;
  3. 作为测试工程师,思考问题的方式:细节决定了一个系统的好坏,好系统不一定是多么的高大上;考虑测试和实际应用的差别:由于生产环境数据量大,测试中不是问题细节也会变成很大的问题,甚至导致系统奔溃。

 

55 HTTP-Cookie

  1. cookie 和session,机制很像, 都是键-值的对应形式;Cookie  保存在客户端;cookie文件,=网站缓存内容;
  2. 功能:服务器在客户端保存了数据,下次应用的时候,根据
  3. 通过cookie的形式,将登陆信息保存在客户端,下次访问相同系统,不需要重新登录系统,直接显示系统登录之后的界面
  4. 机制:访问页面时,浏览器先读取本地cookie 中的账号信息,并将cookie内登录信息发送给服务器;服务器通过session 判定该客户端的登录状态,返回给客户端数据,然后浏览器访问系统页面成功。
  5. cookie 文件命名规则:cookie:denny@localhost/ = cookie + 登录PC 操作系统的账号+@+访问的主机
  6. cookie 文件内容:明文保存账号、密码,很危险;安全意识;所以关闭浏览器时,点击退出系统,然后再关闭浏览器。
  7. 只要将cookie 保存到本地就有风险;其他人将本地的cookie信息发送给服务器,服务器会判定其他人已经登录系统了
  8. 退出系统:清空session 和cookie 全部信息,新的一轮重新开始;

 

54 HTTP-session;55 HTTP-Cookie

原文:https://www.cnblogs.com/George19950505/p/12315248.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!