Refer
记录用户跳转到当前页面前的页面地址;
fat url
通过在url后面加入一些用户特有的标识码来识别客户端;客户端首次访问web站点,会生成一个唯一的ID,添加到url上,这样以后每次请求服务器时都会带上这个ID,服务器用以识别;
问题
- 无法共享url:url发送给其它人没有用;
- 额外的服务器负荷:服务器重写HTML;
- 逃逸口:如果用户不小心逃离这个链接,返回时就会丢失之前的信息;
- 会话非持久:除非用户收藏了这个特定的胖URL,否则用户退出时就会丢失这些信息;
cookie
- 基本思想:让浏览器保存一组服务器特有的信息,每次访问服务器时都将这些信息提供给它(也称客户端侧状态 client-side state);
- 分类:cookie分为会话cookie与持久cookie,会话cookie是临时的,在浏览器退出时,会话cookie被删除;持久cookie可以通过设置Max-Age来保存在电脑硬盘上一段时间;
- 客户端首次访问服务器时,服务器可以通过Set-Cookie来在首部中加上客户端的唯一标识符,来识别用户,之后客户端每次请求该站点时都会附带这个cookie,cookie可以包含任意内容;
- 浏览器不会每次都把所有的cookie都发给服务器,而是通常向每个站点发送2~3个cookie,原因时考虑到:性能(有可能cookie总数比内容还多),安全(没必要将所有的cookie都发给对方,那些你不信任的站点也可能获得站点信息)因数;
- path属性:能够让服务器针对特定的路劲发送制定的不同cookie;
- 如果浏览器被禁止了cookie,则可以通过fat url来提供补充一些基本功能;