谁知道WEBSERVER是如何知道请求是否来自同一个浏览器的?

Davidyuan 2002-01-31 08:41:12
我只知道IP和port,还有其他的辨认方法吗?

我正在自己写一个小型的WEBSERVER,用自己的方法代替CGI等东西。
...全文
160 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Davidyuan 2002-01-31
  • 打赏
  • 举报
回复
虽然土,但很实用,我曾经这样想过。
能具体一些吗,比如如何产生一个独立的ID号等,分数肯定给
welkin_qiu 2002-01-31
  • 打赏
  • 举报
回复
还有一个最佳的方法就是通过Cookie, 当客户第一次请求WebServer时你设置一个过期时
间为空的Cookie, 这时这个Cookie就会一直保存在客户当前浏览器窗口内存中直到关闭
该浏览窗口,这样你就可以通过判断这个Cookie的值辨认客户来源。实际上这也就是当前
各大WebServer 实现 Session 采用的方法
(1).测试案例(Testcase)通过Client Lib的接口向Selenium Server发送Http请求,要求和Selenium Server建立连接。 为什么要通过发送Http请求控制Selenium Server而不采用其他方式呢?从上文可以看出,Selenium Server是一个独立的中间服务器(确切地说是代理服务器),它可以架设在其他机器上!所以测试案例通过发送HTTP请求去控制Selenium Server是很正常的。 (2).Selenium Server的Launcher启动浏览器,把Selenium Core加载入浏览器页面当中,并把浏览器的代理设置为Selenium Server的Http Proxy。 (3).测试案例通过Client Lib的接口向Selenium Server发送Http请求,Selenium Server对请求进行解析,然后通过Http Proxy发送JS命令通知Selenium Core执行操作浏览器的动作。 (4).Selenium Core接收到指令后,执行操作。 (5).浏览器收到新的页面请求信息(因为在(4)中,Selenium Core的操作可能引发新的页面请求),于是发送Http请求请求新的Web页面。 由于Selenium Server在启动浏览器时做了手脚,所以Selenium Server会接收到所有由它启动的浏览器发送的请求。 (6).Selenium Server接收到浏览器的发送的Http请求后,自己重组Http请求,获取对应的Web页面。 (7).Selenium Server的Http Proxy把接收的Web页面返回给浏览器。 因为浏览器存在同源策略,所以Selenium RC中的Selenium Server需要以这种代理模式运行。

2,204

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧