一、域名解析
由于目标IP地址不方便记忆,于是有了域名这种字符型标识。域名解析就是域名到IP地址转换的过程,域名的解析器是由DNS完成的,DNS域名解析使用的是UDP协议。
二、与目的主机进行TCP连接(三次握手)
如图所示:
三、发送与收取数据(浏览器与目的主机开始HTTP访问过程)
HTTP请求由三个部分组成:请求行、消息报头、请求正文
请求方法
get 用于使用给定的URI从给定服务器中检索信息,即从指定资源中请求数据
post 用于将数据发送到服务器以创建或更新资源。
head 不返回响应报文内容主体部分,仅传输响应报头部分
put 用来修改资源,要求在请求报文的主体中包含文件内容,然后保存到请求URI
指定的位置
delete 用来删除指定的资源,它会删除URI
给出的目标资源的所有当前内容
opitons 查询指定的 URL
能够支持的方法
HTTP报文
请求报文格式:
- 第一行是包含了请求方法、
URL
、协议版本; - 接下来的多行都是请求首部
Header
,每个首部都有一个首部名称,以及对应的值。 - 一个空行用来分隔首部和内容主体
Body
- 最后是请求的内容主体
响应报文格式:
- 第一行包含协议版本、状态码以及描述,最常见的是
200
OK
表示请求成功了 - 接下来多行也是首部内容
- 一个空行分隔首部和内容主体
- 最后是响应的内容主体
四、与目的主机断开TCP连接(四次挥手)
五、总结
首先通过域名找到IP,如果缓存里没有就要请求DNS服务器,得到IP后开始于目的主机进行三次握手来建立连接,连接建立后进行HTTP访问,传输并获取网页内容,传输完成后与目的主机四次挥手来断开TCP连接。