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。原因如下
- 对所有这些cookie字节进行传输会严重降低性能。浏览器实际传输的cookie字节数要比实际的内容字节数多
- cookie中包含的是服务器特有的名值对,所以对大部分站点来说,大多数cookie都只是无法识别的无用数据
- 将所有的cookie发送给所有站点会引发潜在的隐私问题,那些你并不信任的站点也会获得你只想发给其他站点的信息
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
新闻名称:http客户端识别与cookie机制-创新互联
网页链接:
http://kswjz.com/article/ceohhh.html
扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流