cookie是面试中经常会问到的一个问题,但是就我的项目实践来看,我用到的次数极少。有时候用到也不是为了存储用户名密码,只是存储一些需要记住的状态。可能和我的经验尚浅,涉足的项目不算多有关。这里简单做几点总结。

1.cookie由来
1)session和cookie都是会话跟踪技术,都是用来记录保存客户端跟服务器之间通信时需要用到的一些数据。
2)session对象存放在服务器内存里
3)cookie存放在客户端本地硬盘上
4)客户端每次访问服务器都会携带该服务器发送到本地的cookie文件
5)当使用session保存客户端信息时,cookie文件不再需要保存大量客户端信息,只需要简单记录一个session的ID号
6)当cookie文件丢失,服务器便无法辨别客户端的身份,只能假定客户端是第一次访问服务器,所以会要求客户端进行登陆操作。
7)服务器默认设定,当客户端30分不再与服务器产生交互,便认为会话过期,session对象会被销毁。此时再请求服务器,cookie中记录的sessionID号已经毫无意义。 session对象只能重新建立,用户也必须重新进行登陆。
8)当浏览器禁用掉cookie功能,服务器便彻底无法辨别客户端的身份,session功能就会失效,你就可能无法正常的访问网站。

2.cookie组成
cookie由 名/值 对形式的文本组成: name=value
完整格式为 name=value;[expires=date];[path=path];[domain=somewhere.com];[secure]
[ ]里面的属性和值是可选,name=value是必选。

expires=date失效时间;path=path 表示cookie所在的根目录;domain 表示cookie所在的域,默认为请求的地址;secure 安全设置,只能保证cookie与web服务器之间的数据传输过程加密,保存在本地的cookie不加密。

3.cookie交互原理

原理:不想保存在中央数据库的细节信息。设计一个站点,依照用户习惯登录的模式,cookie记录每个用户的习惯,并保存在用户的计算机上,而自己的数据库空间可以留给更有意义的数据。

4.cookie的限制
chrome和Safari没有对cookie的个数做限制,一般浏览器限制同一域名数量为50个。
cookie的文件大小一般为4kb(同一域名)。

5.禁止cookie
如果浏览器完全禁止cookie的话,大多数网站的功能无法正常使用。

6.cookie与存储
在本地客户端的磁盘上以很小的文件形式保存数据。
(HTTPCookie)最初是客户端与服务器进行会话使用的。
HTTPCookie要求服务器对任意HTTP请求发送set-cookie,cookie的处理原则是,需要在服务器环境下进行。现在大部分浏览器在客户端也能实现cookie的生成和获取(谷歌除外)。

7.cookie(拓展)
(1)cookie是浏览器提供的一种机制,它将document 对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制,而并不是JavaScript本身的性质。cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便使这个cookie可用。因此,cookie可以跨越一个域名下的 多个网页,但不能跨越多个域名使用。不同的浏览器对cookie的实现也不一样,但其性质是相同的。
(2)cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。

万年不变话题cookie,简单总结的更多相关文章

  1. Session会话与Cookie简单说明

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

  2. cookie 简单用法

    cookie 简单用法 //当前登录人的组织Id HttpCookie SingleValueCookie = new HttpCookie("DepartmentId", &qu ...

  3. Cookie简单实例

    Cookie简单实例 1.创建CookieServlet package com.servlet.study; import java.io.IOException; import java.io.P ...

  4. Java用Cookie简单限制点赞次数

    楼主最近在搞一个当下比较流行的点赞功能,这个功能也是让程序员又爱又恨啊 说起爱,点赞是个社会化的动作,全民都在为美好的事情,行为,动作,点赞. 说起恨,你很难在用户没有登录的情况下限制恶意点赞的机器人 ...

  5. Cookie 简单设置使用

    cookie的理解可以为,存放在用户浏览器上的一个文件,里面是键值对数据,用于跟服务端通讯.前端可以通过jquery cookie插件设置和读取,后端直接设置 1.获取Cookie: 1 2 3 4 ...

  6. Cookie简单介绍

    Cookie 饼干. 其实是一份小数据, 是服务器给客户端,并且存储在客户端上的一份小数据 应用场景 自动登录.浏览记录.购物车. 为什么要有这个Cookie http的请求是无状态. 客户端与服务器 ...

  7. python 处理cookie简单很多啊 httpclient版本是4.3.3

    模拟登录流程: 1 请求host_url 2 从host_url中解析出 隐藏表单 的值 添加到POST_DATA中 3 添加账户,密码到POST_DATA中 4 编码后,发送POST请求    要点 ...

  8. Cookie 简单使用记录浏览记录

    ItemsDAO.java package dao; import java.util.* ; import java.sql.* ; import util.DBHelper; import ent ...

  9. Session、Cookie简单理解

    Session: session是一种记录客户状态的机制,session是保存在服务器上的,当浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是所谓的session,当浏览器再 ...

随机推荐

  1. 简单的可以跑起来的dubbo例子

    原文地址:https://blog.csdn.net/jingyangV587/article/details/78901937 项目结构: maven项目,内部三个module. <?xml ...

  2. 计算机组成原理——主存与cache的映射关系

    全相联映像: 特点:指主存的一个字块能够映像到整个Cache的不论什么一个字块中.这样的映射方法比較灵活,cache的利用率高.但地址转换速度慢,且须要採用某种置换算法将cache中的内容调入调出,实 ...

  3. ffmpeg的编译和安装

    1. 先到ffmpeg官网上下载ffmpeg源码,然后配置.编译 http://ffmpeg.org/download.html 可以如下进行配置: ./configure --prefix=/usr ...

  4. Redis的数据结构之字符串

    五种数据类型: 字符串(String) 字符串列表(list) 有序字符串集合(sorted set) 哈希(hash) 字符串集合(set) Key定义的注意点: 不要过长, 不要过短, 统一的命名 ...

  5. javaweb(3)之JSP&EL&JSTL

    JSP(Java Server Page) 介绍 什么是 JSP ? 从用户角度看,JSP 就是一个网页. 从开发者角度看,它其实就是一个继承了 Servlet 的 java 类,所以可以直接说 JS ...

  6. CSS-对于IE的兼容问题处理

    css兼容问题 兼容问题 1.文字本身的大小不兼容.同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占高16px,下留白3px,ff下实际占高17px,上留白 ...

  7. java开发定时任务执行时间

    定时任务执行时间配置详解 Seconds Minutes Hours Day-of-month Month Day-of-Week Year
 秒         分        时      天  ...

  8. bzoj4195(并查集+离散化)

    题目大意:给出n个变量互相的相等或不等关系,求这些关系是否矛盾 思路:把相等的变量加入并查集,不等的查询是否合法 eg:数据很大,离散化(然而我用的是map) #include<stdio.h& ...

  9. 玩转spring boot——war部署

    前言 之前部署spring boot应用是通过直接输入命令“java -jar”来实现的.而有些情况,由于部署环境的制约,只能把项目从jar转换成war才能部署,如新浪云sae的java环境容器.那怎 ...

  10. C#-----类FileStream的使用

    1.枚举类FileMode 指定操作系统打开文件的方式 CreateNew  指定操作系统应创建一个新的文件 Create  指定操作系统应创建一个新的文件. 如果该文件已存在,则会覆盖它 Open  ...