Http用户识别的机制方法分为如下几种:
1)、承载用户身份的HTTP首部
2)、客户端IP地址跟踪,根据客户端IP地址进行识别
3)、用户登录,用认证方式设别用户
4)、使用胖URL,一种在URL中嵌入识别信息的技术
5)、Cookie,一种持久化身份设别技术
 
关于HTTP首部的相关信息在下列表格中列出。
HTTP首部
 
首部名称 首部类型 描述
From 请求 用户的Email地址
User-Agent 请求 用户的浏览器软件
Referer 请求 用户是从这个页面上依照链接跳转过来的
Authorization 请求 用户名和密码
Client-IP 扩展 客户端的IP地址
X-Forwarded-For 扩展 客户端的IP 地址
Cookie 扩展 服务器产生的ID标签
 
  Form在HTTP首部一般是保存着用户的Email地址,但是由于网络安全的考虑,现在From首部都是由自动话的机器人或爬虫发送的,所以在From保存用户的Email的方式来识别用户是不可靠的。
  User-Agent就不用说了是用户浏览器软件的信息,这个是更不能识别用户的信息。
  Referer是记录用户从这个页面上依照链接跳转过来的,不能识别用户。
  Authorization 是用户登录使用的,  服务器向浏览器回送一个HTTP401 Login Required的响应代码,弹出登录框要求用户登录,然后浏览器会添加一个Authorization首部提供用户的登录信息。Web服务器无需被动的根据用户的IP地址来猜测用户的身份,他可以要求用户通过用户名和密码进行认证(登录)来显示地询问用户是谁。为了是Web站点的登录更加简单,HTTP中包含了一种内建机制,可以用WWW-Authenticate首部和Authorization首部想Web站点传送用户的相关用户名和密码。当登录成功之后浏览器就可以不断地在每条发往的请求中发送这个登录信息了,这样就可以确认用户了。
Client-IP 地址的弊端
1)、客户端IP地址描述是机器而非用户的特定标志,如果多个用户共享同一台计算机就无法识别
2)、很多英特网服务上会为用户非配动态的IP地址。
3)、很多用户通过网络地址转换(NAT)防火墙来访问网络内容。
4)、HTTP代理或网关会打开新的到原始服务器的TCP链接,Web服务器看到的将是代理IP地址,而非客户端。
  胖URL 是指在URL后面跟上用户的唯一标示符,但是就从URL的美观性和其他准确方面,都不是很好的一个决策。
  Cookie是使用最多的保存用户唯一标识,同时记录用户登录状态的工具
1)Cookie类型
  会话Cookie:一种临时Cookie,用户退出浏览器后就被删除
持久Cookie:存储在硬盘上,用于维护用户周期性访问某个网站的配置文件或登录名
会话Cookie与持久Cookie的区别是他们的过去时间。
第一次请求亚马逊的网站
 

登录成功后

Cookie保存有session-id以及session-token等相关信息,服务器端可以使Session-Id生成和用户是一一对应并且同一个用户生成的是不可一更改的。

Http客户端识别的方法的更多相关文章

  1. 前端学HTTP之客户端识别和cookie

    前面的话 Web服务器可能会同时与数千个不同的客户端进行对话.这些服务器通常要记录下它们在与谁交谈,而不会认为所有的请求都来自匿名的客户端.本文主要介绍客户端识别及cookie机制 HTTP首部 HT ...

  2. javascript四种类型识别的方法

    × 目录 [1]typeof [2]instanceof [3]constructor[4]toString 前面的话 javascript有复杂的类型系统,类型识别则是基本的功能.javascrip ...

  3. Python/dotNET Redis服务连接客户端调用SET方法的同时获取Redis服务器返回的内容

    在用Python或dotNET redis客户端连接redis服务器的时候,当你调用客户端的SET方法后同时还想得到其返回的字符串,那么需要处理一下. 1. Redis Python redis客户端 ...

  4. webservice axis2客户端设置代理方法(公司网络通过代理访问时)

    webservice axis2客户端设置代理方法(公司网络通过代理访问时)   UploadProcessInServiceStub stub = new UploadProcessInServic ...

  5. 深度卷积网络(DCNN)和人类识别物体方法的不同

    加州大学洛杉矶分校在PLOS Computing Biology上发表了一篇文章,分析了深度卷积网络(DCNN)和人类识别物体方法的不同:深度卷积网络(DCNN)是依靠物体的纹理进行识别,而人类是依靠 ...

  6. ASP输出JSON数据及客户端jQuery处理方法

    首先ASP处理JSON需要json官方提供的JSON For ASP 封装类文件,下载地址:http://code.google.com/p/aspjson/downloads/list 下载最新的J ...

  7. 和我一起学《HTTP权威指南》——客户端识别与cookie机制

    客户端识别与cookie机制 服务器需要区别是哪个客户端. 个性化接触 HTTP是匿名.无状态的请求/响应协议. Web站点希望: 对客户端的用户有更多的了解 追踪用户浏览页面的行为 因此,产生了几种 ...

  8. PL/SQL TOAD 不安装Oracle客户端连接数据库的方法

    不安装Oracle客户端连接数据库的方法 本机环境: win7 64位中文旗舰版 一.准备工作: 1)到ORACLE官网下载instantclient,下载地址:http://www.oracle.c ...

  9. 客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较

    前几天曾经发过一篇<ASP.NET AJAX(Atlas)和Anthem.NET——管中窥豹般小小比较>,Jeffrey Zhao说用ASP.NET AJAX中的UpdatePanel似乎 ...

随机推荐

  1. windows批处理

    1.日期作为变量当做文件名的一部分. C:\Documents and Settings\Simon>echo %date%2008-09-09 星期二 C:\Documents and Set ...

  2. linux中ssh可以登录sftp不能登录解决办法

    我的服务器一直正常使用,平时使用secureCRT进行管理,使用secureFX进行文件的上传下载,突然有一天secureFX连接的时候出问题了,secureFX的日志如下: i SecureFX 版 ...

  3. 让淘宝链接在微信中分享,GO

    老婆开了个淘宝店,小卖家的心理大家都知道,一开始的小店总是没有光顾,吸引流量成了重中之中. 所以她到处发链接,微信里发了好多条,可是没过多久有好友微她,问她发的时什么,为什么都是打不开的.结果直接傻眼 ...

  4. DATE_FORMAT函数用法

    一.在oracle中,当想把字符串为‘2011-09-20 08:30:45’的格式转化为日期格式,我们可以使用oracle提供的to_date函数. sql语句为: SELECT to_date(' ...

  5. uestc_retarded 模板

    虽然这个队,以后再也没有了,但是他的模板,是永垂不朽的![误 #include <ext/pb_ds/priority_queue.hpp> __gnu_pbds::priority_qu ...

  6. Metaweblog在Android上使用

    同步发表于http://avenwu.net/2015/02/04/metaweblog metaweblog是一个博客接口协议,目前主流的博客平台均支持该协议,比如博客园,CSDN,WordPres ...

  7. 使用PuTTY时的文件上传下载方法

    如果你是个PuTTY重度用户,在使用ssh连上一个远端机器工作了好一阵子后,发现自己需要对 当前会话 上传/下载文件,要怎样才能简单快捷呢? 最简单的方式 最简单的方法: 安装WinSCP或者File ...

  8. Django 新人开发的十个注意点

    总结一下 Django开发中,注意的事项,特别是新人,由于水平有限,也只能到这个层次,更多模式思想性的东西,还得在开发中慢慢体会. 1.各个APP独立,做到项目的模块分明.说的有点大,列几个列子优先 ...

  9. IOS 开发环境,证书和授权文件等详解

    (转自:http://blog.csdn.net/gtncwy/article/details/8617788) 一.成员介绍1.    Certification(证书)证书是对电脑开发资格的认证, ...

  10. android多国语言文件夹文件汇总

    android多国语言文件夹文件汇总如下: 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中文(香港):values-zh-rHK 英语(美国):values-e ...