互联网世界,人们可以通过网络传输
解除地域限制,实现消息
的通信。那么网络传输的整体流程到底是怎么实现的呢?
比如小王在他的电脑浏览器上输入了一个网址,经过网络传输,目标服务器收到了来自小王的请求,并响应了内容给小王。整个过程就涉及了两次网络传输,一次请求,一次响应。
查看代码
请求的网络传输:
小王在浏览器中输入网址(URL),并点击回车或点击搜索按钮。
浏览器解析URL,识别出协议(如HTTP或HTTPS)、域名(可能包括子域)、端口(如果未指定,则使用默认端口,如HTTP的80端口或HTTPS的4043端口)、以及可能的路径和查询字符串。
浏览器通过DNS(域名系统)将域名解析为服务器的IP地址。
浏览器与服务器建立TCP/IP连接(对于HTTPS,则是在此基础上建立SSL/TLS加密连接)。
浏览器向服务器发送HTTP(或HTTPS)请求,请求中包含请求的方法(如GET、POST)、请求的资源路径、HTTP版本、请求头(包含如User-Agent、Accept等信息),以及可能的请求体(对于GET请求,通常没有请求体)。
服务器处理:
服务器接收到来自小王的请求后,根据其请求的资源和方法进行相应的处理。
服务器可能访问数据库、执行程序或调用其他服务来获取或生成请求的资源。
服务器构建响应,包括HTTP状态码(如200 OK表示成功)、响应头(如Content-Type指示内容类型)、以及响应体(包含实际的数据,如HTML、JSON、图片等)。
响应的网络传输:
服务器将构建好的HTTP响应发送给浏览器。
浏览器接收到响应后,根据响应的状态码和内容类型进行相应的处理。
如果状态码表示成功,浏览器将解析响应体中的内容,并展示给用户。例如,如果响应体是HTML文档,浏览器会渲染这个HTML文档,并展示给用户看。
那么计算机是如何识别网络传输指令,并发起网络传输的呢?
1. 数据封装
程序与指令的转换:首先,程序被编译或解释成计算机可以直接执行的二进制代码。这些二进制代码包含了程序执行所需的所有指令和数据。
网络层封装:当需要通过网络传输数据时,数据会被封装成网络数据包(如IP数据包)。这个过程包括添加源IP地址、目标IP地址、端口号等网络层信息,以便数据包能在网络中正确路由和传输。
2. CPU处理
指令执行:CPU从内存中取出指令,放入指令寄存器,并对指令进行译码和执行。在涉及网络传输的指令中,CPU会识别出需要进行网络操作的数据包。
控制信号生成:CPU通过控制单元发出控制信号,这些信号用于控制计算机内部各部件(如内存、I/O设备等)的协同工作。在网络传输的上下文中,CPU会生成相应的控制信号,以启动网络接口卡(NIC)等硬件设备进行数据包的发送。
标签:大致,浏览器,请求,传输,网络,响应,服务器 From: https://www.cnblogs.com/ashet/p/18397170