Http协议(2)—客户端的识别与cookie机制

时间:2021-01-29 05:07:11
一、Http用户识别的机制 1.承载用户身份的http首部 2.客户端IP地址跟踪,根据客户端IP地址进行识别 3.用户登录,用认证方式识别用户 4.胖URL,一种在URL中嵌入识别信息的技术 5.cookie,一种持久身份识别技术
二、HTTP首部         1.From
            包含用户的Email地址
        2.User_Agent
            将用户所用浏览器的相关信息告诉服务器
        3.Referer
            提供用户来源页面的URL,说明用户之前访问过哪些页面

三、客户端IP地址         弊端
                1.客户端IP地址描述的是机器而非用户,如果多个用户共享同一台计算机就无法识别
                2.很多因特网服务商会为用户动态分配IP
                3.很多用户通过网络地址转换(NAT)防火墙来访问网络内容
                4.HTTP代理或网关会打开新的到原始服务器的TCP链接,Web服务器看到的将是代理的
                    IP地址,而非客户端

四、用户登录         服务器向浏览器回送一个HTTP401 Login Required的响应代码,弹出登录框要求用户登录,然后浏览器会添加一个Authorization首部提供用户的登录信息
        弊端:
            每次登录一个站点都需要输入用户名和密码有点繁琐
五、胖URL         为用户生成特别的URL来追踪用户身份

六、Cookie         1.Cookie类型
        会话Cookie:一种临时Cookie,用户退出浏览器后就被删除         持久Cookie:存储在硬盘上,用于维护用户周期性访问某个站点的配置文件或登录名         会话Cookie与持久Cookie的区别是它们的过期时间
2.Cookie是怎样工作的?
服务器给客户端的一个标识,客户端浏览器将其保存在浏览器的数据库中,将来客户端访问同一站点时就会将Cookie信息加到请求首部中将其传回去

        3.Cookie罐:客户端状态
            Cookie的基本思想就是让浏览器记住服务器的信息,每次访问服务器时都将这些信息提供              给他,故Cookie又叫HTTP状态管理机制
        
        4.不同站点使用不同的Cookie
            4.1 Cookie的域属性
                    控制哪些站点可以看到这个Cookie
            4.2 Cookie的路径属性
                    在path这个属性列出的URL路径前缀下所有Cookie都是有效的

        5.Cookie与缓存
            5.1 如果无法缓存文档,要将其标记出来
            5.2 缓存set-cookie时要小心
                    响应中有set-cookie表示可以对主体进行缓存,如果对多个用户发送相同的set-cookie,则破坏用户定位                     强制缓存与原始服务器重新验证每条请求,并将返回的所有set-cookie都合并到客户端的响应中去
            5.3 小心才处理带有Cookie首部的请求
                    带有Cookie首部的请求一般是私有的,不能缓存或者缓存带有Cookie首部的图片,过期时间设置为0,强制每次都进行验证