HTTP-cookie

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来提供补充一些基本功能;

你可能感兴趣的:(HTTP-cookie)