cookie行为试验

网上说,同一个进程的浏览器标签页会提交相同的cookie,无论这些页面访问的Web服务器是否相同。

下面就针对这一说法进行验证:

采用nodejs发布两个Web服务,并将接收到的cookie打印出来。

Web服务1(http://127.0.0.1:8001/):

var http = require(‘http‘);

http.createServer(function (request, response) {
    // 获取客户端的Cookie
    var Cookies = {}
    request.headers.cookie && request.headers.cookie.split(‘;‘).forEach(function(Cookie){
        var parts = Cookie.split(‘=‘);
        Cookies[parts[0].trim()] = (parts[1]||‘‘).trim();
    });
    console.log(Cookies);
    // 向客户端发送一个Cookie
    response.writeHead(200,{
        ‘Set-Cookie‘: ‘myCookie8001=test‘,
        ‘Content-Type‘: ‘text/plain‘
    });
    response.end(‘Hello World\n‘);
}).listen(8001);

console.log(‘Server running at http://127.0.0.1:8001/‘);

Web服务2(http://127.0.0.1:8002/):

var http = require(‘http‘);

http.createServer(function (request, response) {
    // 获取客户端的Cookie
    var Cookies = {}
    request.headers.cookie && request.headers.cookie.split(‘;‘).forEach(function(Cookie){
        var parts = Cookie.split(‘=‘);
        Cookies[parts[0].trim()] = (parts[1]||‘‘).trim();
    });
    console.log(Cookies);
    // 向客户端发送一个Cookie
    response.writeHead(200,{
        ‘Set-Cookie‘: ‘myCookie8002=test‘,
        ‘Content-Type‘: ‘text/plain‘
    });
    response.end(‘Hello World\n‘);
}).listen(8002);

console.log(‘Server running at http://127.0.0.1:8002/‘);

启动Web服务1,如下图所示:

启动Web服务2,如下图所示:

然后在同一浏览器中,分别输入“http://127.0.0.1:8001/”和“http://127.0.0.1:8002/”,然后查看Web服务日志。

(注:先清除浏览器中的cookie信息,然后开始下面的操作)

输入“http://127.0.0.1:8001/”后:

输入“http://127.0.0.1:8002/”后:

从日志中看到,服务2得到了服务1在浏览器中存储的cookie信息。

另外开启一个浏览器,然后输入“http://127.0.0.1:8001/”,查看结果:

另外开启一个浏览器,然后输入“http://127.0.0.1:8002/”,查看结果:

时间: 2024-10-03 14:55:31

cookie行为试验的相关文章

Python 爬虫案例-web微信登陆与消息发送

首先回顾下网页微信登陆的一般流程 1.打开浏览器输入网址 2.使用手机微信扫码登陆 3.进入用户界面 1.打开浏览器输入网址 首先打开浏览器输入web微信网址,并进行监控: https://wx.qq.com/ 可以发现网页中包含了一个新的url,而这个url就是二维码的来源. https://login.weixin.qq.com/qrcode/wbfd1Z-a0g== 可以猜测一下获取url的一般网址就是https://login.weixin.qq.com/qrcode,而wbfd1Z-a

Java——Cookie与Session

Cookie通过客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 1.Cookie  1.1概念及使用方法 Cookie实际上是一小段文本信息.客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie.客户端浏览器会把Cookie保存起来,当浏览器再请求该网站时,把请求的网址连同该Cookie一同交给服务器.服务器检查该Cookie,以此来辨认用户状态.服务器还可以根据需要修改Cookie的内容. java中把Cook

理解Cookie和Session机制

转自:http://my.oschina.net/xianggao/blog/395675 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用的会话跟踪技术是Cookie与Session.Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份. 本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session. Cookie机制 Cookie技术是客户端的解决方案,Cooki

Servlet和JSP读书笔记(三)之Cookie

一. 浏览器和服务器之间通信的简单介绍引出Cookie和Session(只是简单的简介,不包含协议方面的知识) 1.当我们在浏览器中输入一个地址后,回车后就可以看到浏览器给我们展示的漂亮页面.在这个过程中浏览器和服务器都做了什么呢?下面的解释只是浏览器与服务器之间 通信的最简单的形式,也称之为一次会话. ① 首先我们在地址栏上输入我们想要打开的网址,按下回车.这样一个请求就由浏览器发往服务器. ② 服务器的网络设备接收到数据后,在传向服务器软件.   ③ 服务软件得到请求后,进行一系列逻辑处理,

理解Cookie和Session机制(转)

目录[-] Cookie机制 什么是Cookie 记录用户访问次数 Cookie的不可跨域名性 Unicode编码:保存中文 BASE64编码:保存二进制图片 设置Cookie的所有属性 Cookie的有效期 Cookie的修改.删除 Cookie的域名 Cookie的路径 Cookie的安全属性 JavaScript操作Cookie 案例:永久登录 Session机制 什么是Session 实现用户登录 Session的生命周期 Session的有效期 Session的常用方法 Session

第三方cookie与搜索引擎+网站广告原理

cookie 摘自 : http://www.williamlong.info/archives/3125.html 关于cookie的安全知识 :http://shaoshuai.me/tech/2014/08/16/cookie-theft-and-session-hijacking.html Cookie是什么 Cookie在英文中是小甜品的意思,但在计算机语言中,Cookie指 的是当你浏览某网站时,网站存储在你电脑上的一个小文本文件,伴随着用户请求和页面在 Web 服务器和浏览器之间传

CSDN转 cookie的用法

在网站中,我们经常看到每当我们准备登陆时,网页询问我们是否保存用户名和密码,以便下次登陆时不用再次输入.诸如此类的功能如何实现哪?经过两天的研究,终于有了收获!现将我的经验与大家分享.      在网页中记录用户的信息通常有如下几种方式:Session.Cookie.以及.Net环境下的ViewState等.比较起来,Session将用户的信息暂存在内存中,除非用户关闭网页,否则信息将一直有效.所以,用Session保存的信息很容易丢失.Cookie用来将用户的信息保存到用户机的文件中,这样信息

cookie,Session机制的本质,跨应用程序的session共享

目录:一.术语session二.HTTP协议与状态保持三.理解cookie机制四.理解session机制五.理解javax.servlet.http.HttpSession六.HttpSession常见问题七.跨应用程序的session共享八.总结 一.术语session在我的经验里,session这个词被滥用的程度大概仅次于transaction,更加有趣的是transaction与session在某些语境下的含义是相同的.session,中文经常翻译为会话,其本来的含义是指有始有终的一系列动

关于Cookie中的URL编码

今天对登录访问的安全以及web客户端存储做了一些大致的理解,在学习cookie的使用时发现其名称以及存储的字符串值是必须经过URL编码的. 然而网上的一些示例都没有做这一个动作,所以将参考阮一峰老师的关于URL编码博文做些解决分享: 一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址"http://www.abc.com",但是没有希腊字母的网址"http: