zoukankan      html  css  js  c++  java
  • 和我一起学《HTTP权威指南》——客户端识别与cookie机制

    客户端识别与cookie机制

    服务器需要区别是哪个客户端。

    个性化接触

    HTTP是匿名、无状态的请求/响应协议。

    Web站点希望:

    • 对客户端的用户有更多的了解
    • 追踪用户浏览页面的行为

    因此,产生了几种用户识别机制:

    • 包含用户身份信息的HTTP首部
    • 识别用户IP地址
    • 用户认证
    • URL中嵌入识别信息

    HTTP首部

    User-Agent首部将用户所用浏览器的相关信息告知服务器。

    下图是Chrome浏览器开发者工具,打开http://www.cnblogs.com的部分截图

    Referer表示从哪个页面跳转过来的,上面的例子是从我的博客跳转过来的

    User-Agent表示客户端浏览器的一些信息,上例中Mozilla/5.0表示应用的名称和版本,AppleWebKit...表示使用的浏览器平台相关信息

    客户端IP地址

    使用IP地址识别用户缺点太多

    • IP地址只能描述机器,而不是用户。无法区分多用户
    • ISP为用户动态分配IP地址
    • 用户通过NAT防火墙浏览网页。NAT隐藏客户端IP地址,将IP地址转换成一个共享防火墙的IP地址
    • 服务器看到的可能是代理服务器的IP地址

    用户登录

    通过用户名和密码进行认证显式地询问用户身份

    HTTP中用WWW-Authenticate首部Authorization首部传送用户相关信息

    胖URL

    有些Web站点为每个用户生成特定版本的URL来追踪用户的身份。

    cookie是当前识别用户,实现持久会话的最好方式

    cookie的类型

    • 会话cookie:临时cookie,记录用户的设置和偏好,退出浏览器就会被删除
    • 持久cookie:生存时间长一些,存储在硬盘上,用户退出浏览器,重启计算机仍存在

    两者的区别就是过期时间

    cookie是如何工作的

    cookie就像服务器给用户贴的辨别身份的贴纸一样

    用户访问网站,Web站点读取Cookie(服务器贴在用户身上的所有贴纸)

    浏览器记住服务器返回的Set-Cookie首部的cookie内容,将cookie存储在浏览器的cookie数据库中。下次访问相同站点,浏览器在cookie请求首部将它传过去。

    cookie罐:客户端的状态

    cookie的基本思想:让浏览器积累一组服务器特有的信息,每次访问服务器都将这些信息提供给它。

    cookie规范的正式名称:HTTP状态管理机制(HTTP state management mechanism)

    对应HTTP是无状态协议,由cookie来保持HTTP的状态

    Chrome浏览器查看cookie的两种方式:

    • 查看当前网站的cookie

    通过查看维基百科的cookie词条的cookie,我们能看出当前网站有两种cookie,会话cookie和持久cookie

    • 查看浏览器所有的cookie

    cookie与会话追踪

    可用cookie在用户与某个站点进行多项事务处理时对用户进行追踪。

    cookie的缺点

    • cookie会被附加到每个HTTP请求中,增加了流量
    • HTTP请求中的cookie是明文传输,有安全性问题(除非使用HTTPS)
    • cookie有大小限制,对复杂的存储需求不够使用

    cookie的用途

    维持用户和服务器的会话状态

    • 购物网站购物车对用户选购商品的记录
    • 用户在登录一次后,下次登录不需要再输入用户名和密码(在cookie还没过期前)
  • 相关阅读:
    Theme.AppCompat.Light报错
    在Eclipse添加Android兼容包( v4、v7 appcompat )
    如何从Eclipse导入github上的项目源码
    一个C#多线程的工作队列
    是否需要手动执行DataContext的Dispose方法?
    Unity3d 销毁
    Unity3d 碰撞检测
    unity3d 鼠标事件
    Unity3d 刚体
    unity3d 让物体移动到点击位置
  • 原文地址:https://www.cnblogs.com/JohnTsai/p/5205054.html
Copyright © 2011-2022 走看看