Sheppard Y

keep thinking keep coding.

cookie一小步

2016-07-11 日更新 
此篇博客已经迁移到新博客,并做行文检查和优化排版:
http://blog.clawz.me/2014/01/16/14-a-step-to-cookie/

一、怎么纠结上的
    近期在准备借鉴云风的skynet来完善我们的架构。这个cookie研究是个插曲。
    我这有个http server只做与数据库的代理接口用,同事那边有个http的web server,他的server需要以http client身份来访问我的server取数据。
    我的server用的express,访问流程为先去一个path验证,验证完,这个http client就可以访问其他path了。验证的时候会标记client对应的session为已验证,之后的每次访问会检查这个标记。
二、对cookie的认识加深了些
    这里的cookie流程是这样的,验证之后,server会在response的headers里设置上“set-cookie”的值,接下来的request需要带上这个cookie,否则server认为这个client没有被验证。
    第二次request的response里可能会给设置新的cookie,第三次request需要带上第二次respones设置的cookie……
    这样就是每次访问带上上次返回的cookie,server才会认为你这次的访问启用的client已经被验证过。
    nodejs里的http.request默认是不会捎上cookie的,所以得自己封装下。
三、ps
    cookie的wikipedia:http://en.wikipedia.org/wiki/HTTP_cookie#Implementation
    cookie以前做模拟登陆时有想研究过,那时对http完全不了解,加上其他的事情,给放弃了。这次总算稍微留个感性认识了。
    这里写的乱七八糟的,回头有空再完善这篇吧。

     同一个站点的cookie不一定只是登陆够给的那个,而且cookie也不局限于用于登陆标记。例如登陆后浏览好久,开始启用某个功能需要做标记,cookie字段就动态增加了。为此在给node.js的http.request封装的维护cookie的agent后来修改了。
     这些内容在《Http权威指南》里将很清楚,经典书才是硬道理。

posted on 2014-01-16 11:54 Sheppard Y 阅读(865) 评论(0)  编辑 收藏 引用 所属分类: 网络编程nodejs


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

留言簿(1)

随笔分类(77)

随笔档案(58)

me

基友

同行

业界前辈

最新随笔

搜索

积分与排名

最新评论

阅读排行榜