Cookie的原理
浏览器要访问服务器里面的文件,只要在浏览器里面写这个文件名,写服务器的地址,写端口号,写http,要想传参数,直接在地址里面传,或者通过post方式来传。
http协议的无连接性,要求出现一种保存c/s间状态的机制
通过浏览器访问网页1,买了一个东西(登陆了),当我们从服务器拿下我么的内容之后,浏览器到服务器的连接就断掉了(无连接性);买完东西(登陆后)去另外一个页面网页2结账,所以去第一个页面买的东西要保存下来。
怎么保存第一个页面买东西的记录呢?
答案:把买东西的记录写在客户端。服务器端在客户端写入的东西,就叫做cookie。
当结账的时候,网页2就会到客户端把第一个页面保存在客户端的记录拿出来,即把cookie拿到,然后结账。
1服务器可以向客户端写内容,只能是文本内容。(不能写其他的文件,否则会不安全)
2客户端可以阻止服务器端写入。
3.服务器端只能拿自己webapp写入的的东西。(网页2结账时,需要从客户端取出记录,然后结账)
4.cookie就是服务器端写入客户端的这些个小文本的信息。Cookie以“名-值”对的形式保存数据。
5.登陆后两个星期不用再登陆。就是服务器把信息保存在了客户端的cookie里面了。
Cookie分为两种:(1)属于窗口(子窗口)(2)属于文本的
一种写在文件里,一种是相当于你写入内存里,只要你把浏览器关掉,这个cookie就消失。服务器端写在客户端,如果设置了生存周期,会写在我们的文件里面,如果没有设置,他会写在我们客户端的内存里面。当浏览器窗口一关,
这个cookie就消失了。
==========================================
Session的工作原理 :记录在服务器
原理:
当浏览器访问某个页面时,会在服务器端开辟一块内存,而这块内存是跟你的浏览器窗口(子窗口)关联到一起的。
只要我愿意的话,我会给你的浏览器来建立一个session,然后这个session只能由你这个浏览器来访问。
另外一个浏览器也想记录自己的状态,怎么办?再起一个单独的session,来和我们这个浏览器关联在一起。
理解:你访问我第一个页面时,我给你的浏览器创造独一无二的号码,我也给你创建的session赋予同样的号码,在服务器端记录着一系列的session,当你在访问第二个页面时,请你把号码发给我第二个页面,我第二个页面再找你这个号码和我们原来session2对应的那个session2。这个号码就叫做sessionId
Session的两种实现方式:(1)通过Cookies来实现(2)通过url重写来实现
所谓通过Cookies来实现说的是什么意思?
每一个客户端你要想支持session的话,你必须在访问我的页面的时候把你的sessionID传递给我。你怎么样才能把这个sessionID传递给我呢?
(1)通过Cookies来实现:我们可以把这个sessionID存在Cookies里面。存在临时的内存里面,浏览器窗口关了,sessionID就不需要了,浏览器窗口关了,永远不会有人来访问你这个浏览器对应的session了.如果浏览器支持Cookies(可以通过设置浏览器不让支持Cookie),创建session时就会把sessionID保存在Cookie里面。(如果不允许Cookie,在IE里面可能禁掉,在fireFox里面禁掉的话,当刷新时,sessionID就会不断的变化,说明Cookie里面没有保存Session。)
(2)登陆邮箱的例子来理解session:登陆的页面和读邮件的页面是两个页面,那么读邮件的页面怎么知道这是你的邮件呢?那只有一个办法,你在登陆完成这个页面(登陆的页面)之后,他给你一个sessionId,你再访问后面的页面时,每次把这个sessionID带上,他就知道原来是你登陆进来的。
当你在访问大公司的页面时,比如新浪邮箱,你如果把浏览器的Cookie禁用了,登陆的时候sessionID就存不进去了,新浪邮箱又没有设置encodeURL,所以只能重新设置Cookies。
(3)在tomcat默认conf目录下面webapp默认的设置session的过期时间是30分,也就是说超过30分session就不能用了。对所有的webapp都适用,你可以通过下面这段代码设置。<session-config> <session-timeout>30</session-timeout></session-config>
(4)两个窗口的sessionID号永远不可能相等,除非一个窗口是另一个页面的子窗口。
(本文摘自:http://www.cnblogs.com/200911/archive/2012/05/02/2479880.html)
相关推荐
SYN Cookie原理与Linux内核实现详解 SYN Flood攻击是一种常见的分布式拒绝服务(DoS)攻击手段,尤其在网络环境基于IPv4的TCP/IP协议栈中。这种攻击利用TCP协议的三次握手流程,通过发送大量伪造源地址的SYN请求,...
cookie 原理解析 Cookie 是一种机制,用于弥补 HTTP 协议无状态的不足,实现会话跟踪。Cookie 是由 W3C 组织提出,最早由 Netscape 社区发展的一种机制。目前 Cookie 已经成为标准,所有的主流浏览器如 IE、...
"COOKIE注入原理动画教程" 这个标题明确指出了我们要学习的主题——COOKIE注入的原理,而且是以动画的形式进行教学。这表明我们将通过动态、视觉化的方式了解这个网络安全中的概念。 **描述分析:** 描述简单明了,...
【Session与Cookie原理简述】 Session和Cookie是两种在Web开发中常见的用户状态管理机制,它们主要用于在HTTP协议无状态的特性下跟踪用户状态。理解它们的原理对于编写高效的Web应用至关重要。 **Cookie原理** ...
了解Cookie的工作原理和特性对于Web开发至关重要,尤其是在处理用户认证、保持会话状态等场景下。然而,随着技术的发展,Web Storage(localStorage和sessionStorage)以及IndexedDB等现代存储解决方案提供了更大...
##### 2.3 Cookie原理 1. **创建Cookie**:服务器创建并设置Cookie对象的属性。 2. **发送Cookie**:服务器通过HTTP响应头`Set-Cookie`发送Cookie信息给客户端。 3. **客户端存储**:客户端将接收到的Cookie信息...
1. **Cookie原理**:理解cookie的工作机制是学习注入的基础,它是服务器发送到用户浏览器并存储的一小块数据,用于识别用户身份和维持会话状态。 2. **安全风险**:不当的cookie管理可能导致会话劫持、身份冒用等...
在这个资料包中,你可能会找到关于Cookie原理、使用方法以及Java实现Cookie功能的相关教程和示例。 【描述】提到的“我把csdn上的cookie的资料都下来看了一遍,整理好了”,意味着这个压缩包可能包含了多篇博客文章...
1. **Cookie原理**: - Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并由浏览器保存,当用户再次访问同一网站时,浏览器会将Cookie返回给服务器。Cookie用于存储用户状态信息,如登录状态、购物车内容...
1. **Cookie原理与作用**:Cookie是网站为了辨别用户身份、保持会话状态而存储在用户本地的数据。例如,登录状态、购物车信息、个性化设置等都可以通过Cookie来实现。 2. **管理Cookie的重要性**:管理Cookie可以...
1. **Cookie原理**: - Cookie是Web服务器在用户的浏览器上存储的小型文本文件,用于跟踪和维护用户状态。 - 在SSO场景下,Cookie通常用于存储用户的身份验证信息,如JWT(JSON Web Token)或自定义的认证令牌。 ...
**XSS盗取Cookie原理分析** XSS攻击中,攻击者的目标是将恶意脚本插入到受害者的浏览页面中。这个脚本通常设计为在用户浏览器中读取Cookie并将其发送给攻击者。以下为攻击步骤: 1. 攻击者在目标网站上注入恶意XSS...
1. **Cookie原理**:了解Cookie的工作机制,包括如何设置、读取和管理Cookie,以及它们在会话管理、个性化设置等方面的作用。 2. **SQL注入漏洞**:理解什么是SQL注入,它是如何发生的,以及攻击者可以利用这种漏洞...
介绍下cookie和session之间是咋交互的。原理是啥
本篇学习笔记将深入讲解Cookie的工作原理以及在`urllib`库中的应用。 Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并由浏览器保存。它的主要用途是识别用户身份、维持会话状态,比如当你登录某个网站后...
采用Cookie原理,对合法用户页面提供一个多重加密Cookie,点播时对Cookie进行验证实现防盗链、下载的功能。由于Cookie本身的特性,需要Web服务和RealSystem服务处于同一个域下才能接收到Cookie信息,所以推荐Web服务...
1. **Cookie的定义与工作原理** - Cookie是由Web服务器发送到用户的浏览器并存储在那里的一小块信息,当用户再次访问同一网站时,浏览器会将这些信息返回给服务器。 - 主要分为Session Cookie和Persistent Cookie...
#### 一、Cookie 原理 在现代Web应用中,单点登录(Single Sign-On,简称SSO)是一种让用户只需进行一次登录就能访问多个应用的技术。为了实现这一功能,Cookie起着至关重要的作用。 **1.1 Cookie与JSESSIONID** ...