这里的内容主要来自 HTTP: The Definitive Guide 第 11 章。
网站通常有识别请求用户信息的需求,用来:
常用的识别方式:
Header name | Header type | Description ! |
---|---|---|
From | Request | User’s email address |
User-Agent | Request | User’s browser software |
Referer | Request | Page user came from by following link |
Authorization | Request | Username and password (discussed later) |
Client-ip | Extension (Request) | Client’s IP address (discussed later) |
X-Forwarded-For | Extension (Request) | Client’s IP address (discussed later) |
Cookie | Extension (Request) | Server-generated ID label (discussed later) |
其中 From
已经不再使用。User-Agent
及 Referer
仍然被经常使用。
非常早期的互联网应用会以 IP 来识别用户。但是后来慢慢废弃了,因为:
X-Forwarded-For
头带上,但不是所有代理都会流程如下:
主流的互联网应用不再使用它:
即每个链接中都带有用户 ID。如早期亚马逊的链接,留意其中的 002-1145265-8016838
:
<a href="/exec/obidos/tg/browse/-/229220/ref=gr_gifts/002-1145265-8016838">All
Gifts</a><br>
<a href="/exec/obidos/wishlist/ref=gr_pl1_/002-1145265-8016838">Wish List</a><br>
<a href="http://s1.amazon.com/exec/varzea/tg/armed-forces/-//ref=gr_af_/002-1145265-
8016838">Salute Our Troops</a><br>
<a href="/exec/obidos/tg/browse/-/749188/ref=gr_p4_/002-1145265-8016838">Free
Shipping</a><br>
这种方式的问题:
目前的主流方式。在 HTTP: Cookie 中单独描述。