当服务器端处理完请求内容的时候,是怎么定位到客户端(页面)并将response发送过去的?不是指session
被这个问题困扰了好久~求解
1
Perseush OP 有知道的没?
|
2
lululau 2015-02-04 17:45:28 +08:00 1
HTTP的下面是TCP,一个 HTTP 请求处理完之前,它所使用的那个 TCP 连接是不会被释放的,server想要往客户端写入数据,直接往那个 TCP 连接里(就是socket)写入数据及行了
|
3
blacktulip 2015-02-04 17:46:19 +08:00 1
我不確定我看明白了樓主的問題,樓主指的是 IP 路由麼?HTTP 一般認為是第七層的協議,找機器這個事情它不管的,那個是底下四層做的事情。
|
4
aszxqw 2015-02-04 17:48:04 +08:00 1
楼主听说过tcp吗
|
6
jianghu52 2015-02-04 17:51:28 +08:00 1
我大概明白你的意思。简单的来说,当客户端发起一个请求 request之后,他与服务器端就建立了一个通道,你可以把这个通道看成是固定,所以当服务器收到一个request之后,他实际上已经知道了是谁发出的这个request,所以当他处理完内容,发response的时候,目的地是非常明确的。
建议你可以google下http的三次握手,有助于你理解当一个request产生的时候,从客户端的网卡开始,到服务器的网卡结束这段时间,都发生了什么事情 |
7
Perseush OP 感谢各位,我之前对这块了解比较浅,没想到过底层协议。
|
8
Her0 2015-02-04 21:53:39 +08:00 1
楼主看看这个吧,很好的教程: http://happypeter.github.io/tealeaf-http/#chinese
|