TCP的拥塞控制
打开一个网页,整个过程会使用哪些协议(面试常客)
总体来说分为以下几个过程:
参考
- DNS解析:将网址转化为IP地址
- TCP连接
- 发送HTTP请求:发送HTTP请求的过程就是构建HTTP请求报文并通过TCP协议中发送到服务器指定端口(HTTP协议80/8080, HTTPS协议443)。
- 服务器处理请求并返回HTTP报文:自然而然这部分对应的就是后端工程师眼中的HTTP。后端从在固定的端口接收到TCP报文开始,这一部分对应于编程语言中的socket。它会对TCP连接进行处理,对HTTP协议进行解析,并按照报文格式进一步封装成HTTP Request对象,供上层使用。这一部分工作一般是由Web服务器去进行,我使用过的Web服务器有Tomcat, Jetty和Netty等等。
- 浏览器解析渲染页面
- 连接结束