胖URL(fat url) | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (4)
目录1. 前言2. 定义3. 机制4. 场景5. 缺点
前言  HTTP本身是匿名/无状态的请求/响应协议,为了能够进行客户端识别,发展出了很多种解决方案,胖URL就是其中一种用户识别机制,它是一种在URL中嵌入识别信息的技术。
定义  服务端可以通过为每个用户生成特定版本的URL来追踪用户身份。通常的做法是在URL开始或结束的地方增加一些状态信息。用户浏览站点时,web服务器会动态生成一些超链,继续维护URL中的状态信息。这种改动后的URL就被称为胖URL(fat url)。以下是《HTTP权威指南》中给出的一个例子:其中粗体的002-1145265-8016838就是一种特定的标识码。
机制  通过胖url,可以将服务器上若干个独立的HTTP事务捆绑成一个“会话”或者“访问”。用户首次访问时,会生成一个唯一的id,用服务器可以识别的方式将这个id添加到url中,然后服务器就会将浏览器重定向至这个新的url,不管什么时候,只要服务端接收到了对该胖URL的请求,就可以去查找那个用户相关的状态。
场景  服务器通常用重定向方式来重写URL,用于嵌入上下文,当客户端请求到达时,服务...阅读全文

JavaScript的null和undefined对比总结 | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (5)
目录1. 前言2. null2.1. 类型检测2.2. 说明3. undefined3.1. 类型检测3.2. 说明4. 综合分析
前言  说到这两个类型,首先应该从整体上明确一下JavaScript中提供的数据类型。  JavaScript中的数据类型分为两类:原始类型和对象类型。  其中,原始类型又可以细分为如下5类:数字,字符串,布尔值,null,undefined。  null和undefined都表示一种“空缺”的意思,但具体还有很多细节不同。
null类型检测对null使用typeof检测,可得:
说明  由以上结果可以看出,可以认为null是一种特殊的对象,表明了“非对象”这种概念。
undefined类型检测对undefined使用typeof检测,可得:
说明  undefined表明变量没有初始化。有以下几种常见情况的返回值是undefined:
如果一个元素不存在,那么在查询这个元素时会返回undefined。如果一个函数没有返回值,那么默认返回的是undefined。如果引用一个函数的某个形参值,但是这个形参却没有被赋予一个实参,那么会返回undef...阅读全文

Session相关总结 | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (2)
目录1. 前言2. 直观感受3. session相关介绍3.1. 定义3.2. 要求3.3. session的生成时间3.4. session的存储方式3.5. session的销毁时间3.6. session的生存周期4. session安全性问题5. cookie与session的对比分析6. session在PHP开发中的使用
前言  本篇简单总结session的概念,作用,应用,实现案例等要点,关于大段的介绍,就不再重复了,网上有很多可以参考。而且session相关是一个很大的话题,这里只是简单小结,主要包括以下几个大的方面:  1.直观感受  2.session相关介绍  3.session安全性问题  4.session的不同实现方式  5.cookie与session的对比分析  6.session在PHP开发中的使用
直观感受使用session进行状态保持的常用方法是服务端生成session对象的同时,在http响应报文首部通过set-cookie字段设置一个比如叫“PHPSESSID”的cookie以此进行唯一标识(但注意这不是唯一方法),如下图所示:
当用户再...阅读全文

CSS[内容盒模型]和[边框盒模型]的对比分析 | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (4)
目录1. 盒模型概述2. 内容盒模型(标准盒模型)2.1. 取值2.2. 概念2.3. 示例3. 边框盒模型(传统盒模型)3.1. 概念3.2. 示例
盒模型概述  盒模型是CSS中的一个重要概念和组成部分,直接决定了页面的基本布局。下图是一张网上常见的关于CSS盒模型的立体图,很好的解释了盒模型中的基本概念。  不同种类和版本的浏览器对于width, height, padding, border, margin的解析有所不同,导致同样的CSS代码在不同浏览器上有不相同的效果。本文对此进行小结。  所有HTML元素可以看作盒子,在CSS中,”box model”这一术语是用来设计和布局时使用。CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。  下面的图片说明了盒子模型基本结构(Box Model):  CSS中的box-sizing属性与盒子模型密切相关:1box-sizing : content-box|border-box|inherit;
内容盒模型(标准盒模型)取值1bo...阅读全文