|
发表于 2008-4-17 21:49:49
|
显示全部楼层
Post by netspectrum;1743870
每次重新启动浏览器之后,取cookie时第一次都是NULL,请各位大侠帮忙分析一下!
为什么就第一次没有昵?
难道是第一次取的时候cookie还没被创建(但第一次以后为什么又创建了昵?)?
还是不明白需要修改测试代码的哪一部分!
请大侠赐教!!!
你有这样的疑问是因为你还没有理解web的工作方式,在cgi中,getenv获取的是浏览器提交过来的信息,而每次请求浏览器会给服务器提交一次信息,于是,你的程序第一次执行的时候,很显然此时浏览器没有sess_id的信息,所以sess_id是null,所以getenv获取不到信息,但是,你这次执行程序的时候还有一个操作printf("Set-Cookie:sess_id=%ld\n",sess_id);,它将cookie放入http头然后返回给浏览器,也就是说,第一次执行完之后浏览器已经得到了这个cookie,然后你程序再次执行的时候,浏览器向服务器发送的数据自然包含了cookie. |
|