当前位置: 技术问答>java相关
有关CTRL+N生成另一浏览器窗口的问题,请赐教。
来源: 互联网 发布时间:2015-01-10
本文导语: 怎样在server端把通过CTRL+N生成的浏览器窗口与原窗口区分开(这两个浏览器公用同一份Session)。 区分开为了使一个浏览器窗口对应一份Session. | TCP/IP 如果这个协议没装呢? 操作系统也...
怎样在server端把通过CTRL+N生成的浏览器窗口与原窗口区分开(这两个浏览器公用同一份Session)。
区分开为了使一个浏览器窗口对应一份Session.
区分开为了使一个浏览器窗口对应一份Session.
|
TCP/IP 如果这个协议没装呢? 操作系统也用不上这个TCP/IP了。虽然现代操作系统都缺省支持TCP/IP,但它还只能认为是操作系统的外沿。不过这个问题其实不是关键吧。 :)
另外要澄清的是:HTTP是无连接的是指应用层面上的协议,但它的底层协议是TCP/IP,是面向连接的!IE只是一个TCP/IP网络应用程序而已,它一样是要用面向连接的网络层协议TCP 来作HTTP请求,任何一个TCP/IP应用都应该知道自己和谁在通信,也不应该会收到别人的通信内容。
建议好好理解一下TCP/IP与HTTP的关系。
另外要澄清的是:HTTP是无连接的是指应用层面上的协议,但它的底层协议是TCP/IP,是面向连接的!IE只是一个TCP/IP网络应用程序而已,它一样是要用面向连接的网络层协议TCP 来作HTTP请求,任何一个TCP/IP应用都应该知道自己和谁在通信,也不应该会收到别人的通信内容。
建议好好理解一下TCP/IP与HTTP的关系。
|
不可能吧。。。
web server是根据cookie来区分session的,ctrl+n打开的IE不仅是在同一个session里面,而且是同一个进程。想在server端区分不同的IE不太现实。
web server是根据cookie来区分session的,ctrl+n打开的IE不仅是在同一个session里面,而且是同一个进程。想在server端区分不同的IE不太现实。
|
server是不知道不同的IE的,它只是根据收到的http请求来response.
至于上面的例子,那是本地操作系统的功劳,跟server不搭嘎。
至于上面的例子,那是本地操作系统的功劳,跟server不搭嘎。
|
关本地操作系统什么事?
这只关TCP/IP通信的事!HTTP只不过是TCP/IP的一个应用而已,你开一个IE去服务器请求一个页面,只不过是开一个Socket 去服务器80端口通信而已,是什么内容该怎么显示才是IE后来要干的事,唯一的分辨标准就是你开一个IE作一个HTTP请求时本地开的是什么端口!
这只关TCP/IP通信的事!HTTP只不过是TCP/IP的一个应用而已,你开一个IE去服务器请求一个页面,只不过是开一个Socket 去服务器80端口通信而已,是什么内容该怎么显示才是IE后来要干的事,唯一的分辨标准就是你开一个IE作一个HTTP请求时本地开的是什么端口!
|
TO luodi
你的Socket,你的TCP/IP不是操作系统实现的是那里来的?是天上掉下来的?
to supersonics:
ip包的包头里面有一个源地址,源端口,一个目的地址,目的端口。server会根据源地址,源端口来response.实现tcp/ip的操作系统知道那一个端口对应那一个进程/线程。随便找一本讲网络编程的书看看就明白了。
你的Socket,你的TCP/IP不是操作系统实现的是那里来的?是天上掉下来的?
to supersonics:
ip包的包头里面有一个源地址,源端口,一个目的地址,目的端口。server会根据源地址,源端口来response.实现tcp/ip的操作系统知道那一个端口对应那一个进程/线程。随便找一本讲网络编程的书看看就明白了。
|
对,这是底层的TCP/IP栈的实现中要考虑的事情,对于Servlet 这种应用来说是透明的,难不成要自已用Java 实现TCP/IP栈吗? :)
|
to luodi:
的确不是关键.这个问题到此为止。
to supersonics:
你说的这个标号是什么?我不理解。在http之上编程不需要了解底层的实现。
这样讲:假设你自己构造一个http请求,sendto server, web server是不知道这个请求是你发的还是浏览器发的。
HTTP是无连接的意思是两个http请求是独立的,他们之间没有任何关系,所以netscape才发明了cookie技术来记录request之间的关系。cookie是http header里的一项。session的概念就是用cookie来实现的。
的确不是关键.这个问题到此为止。
to supersonics:
你说的这个标号是什么?我不理解。在http之上编程不需要了解底层的实现。
这样讲:假设你自己构造一个http请求,sendto server, web server是不知道这个请求是你发的还是浏览器发的。
HTTP是无连接的意思是两个http请求是独立的,他们之间没有任何关系,所以netscape才发明了cookie技术来记录request之间的关系。cookie是http header里的一项。session的概念就是用cookie来实现的。
|
这是没法避免的问题,应当尽量不用session
|
没有办法,不要用Ctol+N,直接点击IE图标开个新的浏览器。
|
好象是不可能。为什么有这种需要呢?
|
在TCP/IP的具体实现中,确实有这么一个标号存在,可以具体参考这方面的书籍。