https 和 tcp 的关系
问题1: HTTPS是在HTTP协议的基础上加入了TLS/SSL加密传输的协议。而TCP/IP协议是一组用于网络通信的协议,包括了传输层的TCP协议和网络层的IP协议。因此,在选择使用HTTPS时,实际上是在HTTP上添加了TLS/SSL加密。可以说先选用了HTTP协议,然后通过添加TLS/SSL来实现HTTPS。
问题2: 在浏览器中输入一个网址时,浏览器会进行以下步骤:
DNS解析:浏览器会向DNS服务器发送请求,将域名解析为对应的IP地址。
建立TCP连接:使用解析到的IP地址,浏览器通过TCP/IP协议与目标服务器建立TCP连接。这个步骤发生在传输层。
发送HTTP请求:一旦建立了TCP连接,浏览器会发送一个HTTP请求到目标服务器。这个HTTP请求包含了要访问的资源、请求方法等信息。
服务器处理请求:目标服务器接收到浏览器发送的HTTP请求后,会进行相应的处理,如查找所需的资源、执行相应的业务逻辑等。
服务器返回响应:服务器处理完请求后,会将相应的HTTP响应返回给浏览器,其中包含了状态码、响应头和响应体等信息。
浏览器渲染页面:浏览器接收到HTTP响应后,会解析响应并渲染出页面,展示给用户。
在这个过程中,TCP连接的建立发生在OSI模型的传输层,即第四层。因为TCP/IP协议栈是在传输层和网络层之间,负责将数据分割成小块传输,并提供可靠的通信机制。所以,TCP连接的建立是在OSI模型的第四层进行的。