请教大家一个 http 请求的基础知识~

2015-02-04 17:41:01 +08:00
 Perseush

当服务器端处理完请求内容的时候,是怎么定位到客户端(页面)并将response发送过去的?不是指session

被这个问题困扰了好久~求解

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/168261

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX