http客户端识别与cookie机制-创新互联

客户端识别与cookie机制
  • 1. 用户识别机制
    • 1.1 承载用户身份信息的HTTP首部
    • 1.2 客户端IP地址
    • 1.3 用户登录
    • 1.4 胖URL
    • 1.5 cookie
      • 1.5.1 cookie的工作原理
      • 1.5.2 cookie罐:客户端的状态
      • 1.5.3 不同站点使用不同的cookie

成都创新互联公司长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为来凤企业提供专业的成都网站设计、成都做网站,来凤网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。1. 用户识别机制 1.1 承载用户身份信息的HTTP首部
首部名称首部类型描述
From请求用户的E-mail地址
User-Agent请求用户的浏览器软件
Referer请求用户是从这个页面上依照链接跳转过来的
Authorization请求用户名和密码
Client-IP扩展(请求)客户端的IP地址
X-Forwarded-For扩展(请求)客户端的IP地址
Cookie扩展(请求)服务器产生的ID标签
  • 很少有浏览器会发送From首部,因为可能造成垃圾邮件的散发,一般From首部是由自动化的机器人或蜘蛛发送的
  • User-Agent首部可以将用户所用浏览器的相关信息告知服务器,包括程序的名称和版本,通常还包含操作系统的相关信息
  • Referer首部提供了用户来源页面的URL,它说明了用户之前访问过哪个页面。通过它可以更好地理解用户的浏览行为,以及用户的兴趣所在。
1.2 客户端IP地址
  • 早期人们尝试将客户端IP地址作为一种表示形式使用,但存在很多缺点,第一个是IP地址表示机器而不是用户,如果多个用户共享一台机器,那么就没办法进行区分了,第二个由于防火墙和HTTP代理的存在,IP地址是不确定的,所以IP地址不能确定目标,且IP地址容易伪造
1.3 用户登录
  • HTTP使用了一种内建机制,用WWW-Authenticate首部和Authorization首部向web站点传送用户的相关信息,这可以通过401响应代码来实现,这时候浏览器就会显示一个登录对话框,并在下一条信息的Authorization首部对服务器的请求中提供这些信息
  • 但问题是这样的话每个用户只能有一个用户名,不同用户在不同网站上可能需要不同的用户名,这大大降低了系统可用性
1.4 胖URL
  • 有些Web站点会为每个用户生成特定版本的URL来追踪用户的身份。通常会对真正的URL进行扩展,从URL路径开始或者结束的地方添加一些状态信息。用户浏览站点时,Web服务器会动态生成一些超链,继续维护URL中的动态信息
  • 改动后包含了用户状态信息的URL被称为胖URL
  • 那么这个问题很明显是没办法共享,因为会共享个人信息,且在会话间是非持久的等等
1.5 cookie
  • cookie是当前识别用户并实现持久会话的最好方式
  • 可以笼统的将cookie非为两类,会话和持久
  • 会话cookie是一种临时cookie,他记录了用户访问站点时的设置和偏好。用户退出浏览器时,cookie就被删除了
  • 持久cookie的生存时间更长一些,它们存储在硬盘上,浏览器退出,计算机重启时它们依然存在。通常会用持久cookie维护某个用户会周期性访问的站点的配置文件或登录名
  • 这两种cookie之间的唯一区别就是过期时间
1.5.1 cookie的工作原理
  • cookie就像服务器给用户贴的“嗨,我叫···”的一张贴纸一样,用户访问一个web站点时,这个web站点就可以读取哪个服务器贴在用户身上的所有贴纸
  • cookie中可以包含任意信息,但它们通常都只包含一个服务器为了跟踪而产生的独特的识别码id,但是cookie并不仅限于ID号,很多Web服务器都会将信息直接保存在cookie中,并将cookie集存储在浏览器的cookie数据库中。将来用户返回同一站点时,浏览器会i澳中那个服务器贴到用户上的那些cookie,并在一个cookie请求首部中将其传回去
1.5.2 cookie罐:客户端的状态
  • cookie的基本思想就是让浏览器积累一组服务器特有的信息,每次访问服务器时都将这些信息提供给它。因为浏览器要负责存储cookie信息,所以此系统被称为客户端侧状态。这个cookie规范的正式名称为HTTP状态管理机制
1.5.3 不同站点使用不同的cookie
  • 浏览器内部的cookie罐中可以有成百上千个cookie,但浏览器不会将每个cookie都发送给所有的站点。实际上,它们通常只向每个站点发送2~3个cookie。原因如下
  1. 对所有这些cookie字节进行传输会严重降低性能。浏览器实际传输的cookie字节数要比实际的内容字节数多
  2. cookie中包含的是服务器特有的名值对,所以对大部分站点来说,大多数cookie都只是无法识别的无用数据
  3. 将所有的cookie发送给所有站点会引发潜在的隐私问题,那些你并不信任的站点也会获得你只想发给其他站点的信息

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前文章:http客户端识别与cookie机制-创新互联
URL分享:http://hbruida.cn/article/ceohhh.html