请问个人对http,socket,TCP如此理解是否正确?

个人看书后对web访问过程有一些问题,不知道以下两点理解是否正确:
1.服务器端的socket永远是存在的,完成一个request之后又继续回到listen状态。
2.web访问的过程(也就是http)具体为:客户端发出握手请求->建立socket链接->客户端发出request->服务端发出response->客户端确认接受完成->断开socket。

另外一个问题,socket这个东西到底该怎么定义(究竟是个啥?),比如TCP/IP是一系列规范(或者说范式?)的统称,html/css是对网页呈现方式的描述。网上看了很多文章,有的说算是TCP对于编程语言的API,有的说是一个应用标准。到现在理解仍然有困难,求解答,先谢谢了。

阅读 2.5k
1 个回答
  1. 永远存在的那个东西叫Socket Server(当然,服务关了就也不存在了,所以永远存在是不严谨的说法)

  2. 『握手』就是『建立socket连接』的过程

  3. 一个请求完成之后,socket不一定会断开

  4. socket本义就是插座,你可以理解为两台服务器之间有一根抽象的数据线,两端都是插座,你的应用有一个插头,两端都插上就可以交流通信了。socket就是一个抽象的概念,一个tcp/udp连接建立之后,两端的应用就各持有一个通向对方的socket,向socket写入的数据可以在另一端读出来,反之亦然。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题