http概述
HTTP 超文本传输协议
当我们访问一个网站时,需要通过统一资源定位符(uniformresource locator,URL)来定位服务器并获取资源。
输入 URL 后获取 HTML 页面的过程
- 在浏览器输入地址
- 域名解析:通过dns服务器,使我们能获取到域名背后的ip地址。
- 浏览器向web服务器发送一个HTTP请求(打包http报文)
例如:浏览器将张三访问百度的请求打包成http报文,然后浏览器
将这份报文和百度服务器的ip交给tcp进程。tcp进程虽然知
道了目的Ip地址,但是觉得不安全,不敢发出去,他觉得先
发个ip包看看能不能收到比较好一点儿,于是有了第三步,
TCP[三次握手 - http触发TCP进程三次握手连接
- TCP传输HTTP(TCP真正开始传输数据)
- 目标服务器接收到 HTTP 请求并处理
- 目标服务器往浏览器发回 HTTP 响应(比如:服务器回传自身网页)。
- 浏览器解析并渲染页面。
- 释放TCP连接(四次挥手)
TCP
三次握手
建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立, 在Socket编程中,这一过程由客户端执行connect来触发,具体流程图如下: