tcp socket通信的基本过程 socket通信原理


tcp socket通信的基本过程 socket通信原理


一个完整的HTTP请求的过程此举例为抛砖引玉 , 引导大家进入思考状态 。
当你按输入www.baidu.com , 浏览器接收到这个消息之后 , 浏览器根据自己的算法识别出你要访问的URL,为您展示出来搜索页面和广告 , 那么这些经历了哪些过程呢?
大致过程如下:
  • (1)浏览器查询 DNS , 获取域名对应的IP地址; 具体过程包括浏览器搜索自身的DNS缓存、搜索操作系统的DNS缓存、读取本地的Host文件和向本地DNS服 务器进行查询等 。
  • (2)浏览器获得域名对应的IP地址以后 , 浏览器向服务器请求建立链接 , 发起三次握手;
  • (3)TCP/IP链接建立起来后 , 浏览器向服务器发送HTTP请求;
  • (4)服务器接收到这个请求 , 并根据路径参数映射到特定的请求处理器进行处理 , 并将处理结果及相应的视图返回给浏览器;
  • (5)浏览器解析并渲染视图 , 若遇到对js文件、css文件及图片等静态资源的引用 , 则重复上述步骤并向服务器请求这些资源;
  • (6)浏览器根据其请求到的资源、数据渲染页面 , 最终向用户呈现一个完整的页面 。
下面 , 我们从底到上来一层层理解这个问题 。
网络参考模型开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model , 缩写:OSI;简称为OSI模型)是一种概念模型 , 由国际标准化组织提出 , 一个试图使各种计算机在世界范围内互连为网络的标准框架 。定义于ISO/IEC 7498-1 。(摘自维基百科)
7应用层 application layer例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP、TLS6表示层 presentation layer例如XDR、ASN.1、SMB、AFP、NCP5会话层 session layer例如ASAP、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、IGMP、Winsock、BSD sockets4传输层 transport layer例如TCP、UDP、RTP、SCTP、SPX、ATP、IL3网络层 network layer例如IP、ICMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP、ARP、RARP、X.252数据链路层 data link layer例如以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE 802.11、FDDI、PPP1物理层 physical layer例如线路、无线电、光纤通常人们认为OSI模型的最上面三层(应用层、表示层和会话层)在TCP/IP组中是一个应用层 。
由于TCP/IP有一个相对较弱的会话层 , 由TCP和RTP下的打开和关闭连接组成 , 并且在TCP和UDP下的各种应用提供不同的端口号 , 这些功能能够被单个的应用程序(或者那些应用程序所使用的库)增加 。与此相似的是 , IP是按照将它下面的网络当作一个黑盒子的思想设计的 , 这样在讨论TCP/IP的时候就可以把它当作一个独立的层 。
TCP/IP 参考模型
4应用层 application layer例如HTTP、FTP、DNS

    推荐阅读