题目
10.[单选题]在浏览器访问一个HTTP网页时,以下关于TCP连接建立的描述正确的是()A. 浏览器直接发送HTTP请求数 据,无需建立TCP连接B. 先建立UDP连接,再切换到TCP 连接传输HTTP数据C. 浏览器和服务器之间先通过TCP 三次握手[1]建立可靠连接,再进行 HTTP数据传输[2]D. 浏览器和服务器之间先进行HTTP 数据传输,再建立TCP连接
10.[单选题]在浏览器访问一个HTTP网页时,以下关于TCP连接建立的描述正确的是()
A. 浏览器直接发送HTTP请求数 据,无需建立TCP连接
B. 先建立UDP连接,再切换到TCP 连接传输HTTP数据
C. 浏览器和服务器之间先通过TCP 三次握手[1]建立可靠连接,再进行 HTTP数据传输[2]
D. 浏览器和服务器之间先进行HTTP 数据传输,再建立TCP连接
题目解答
答案
C. 浏览器和服务器之间先通过TCP 三次握手[1]建立可靠连接,再进行 HTTP数据传输[2]
解析
本题考查的是HTTP协议与TCP协议的关系以及TCP连接建立的过程。解题的关键在于理解HTTP是基于TCP协议的应用层协议,以及TCP建立可靠连接的方式。
对各选项的分析
- A选项:
- HTTP协议是基于TCP协议的应用层协议,TCP协议为HTTP协议提供可靠的数据传输服务。
- 浏览器在发送HTTP请求数据之前,必须先建立TCP连接,以确保数据能够可靠、有序地传输。所以A选项错误。
- B选项:
- HTTP协议是基于TCP协议的,在整个HTTP数据传输过程中,一直使用TCP连接,不会先建立UDP连接再切换到TCP连接。
- UDP是无连接的、不可靠的传输协议,不适合用于需要可靠传输的HTTP数据。所以B选项错误。
- C选项:
- TCP协议通过三次握手来建立可靠的连接。三次握手的过程如下:
- 客户端向服务器发送SYN包,请求建立连接,此时客户端进入SYN_SENT状态。
- 服务器收到SYN包后,向客户端发送SYN + ACK包,表示同意建立连接,此时服务器进入SYN_RCVD状态。
- 客户端收到SYN + ACK包后,向服务器发送ACK包,此时客户端和服务器都进入ESTABLISHED状态,连接建立成功。
- 连接建立成功后,浏览器才会进行HTTP数据传输。所以C选项正确。
- TCP协议通过三次握手来建立可靠的连接。三次握手的过程如下:
- D选项:
- 由于HTTP是基于TCP的,必须先建立TCP连接,确保数据传输的可靠性,才能进行HTTP数据传输。
- 如果先进行HTTP数据传输再建立TCP连接,数据在传输过程中可能会丢失、乱序,无法保证数据的完整性和正确性。所以D选项错误。