1(域名解析)在客户端,浏览器输入地址后,首先会在windows系统文件的hosts中查找是否有对应的ip地址,如果没有则需要向DNS域名解析服务器询问该域名对应的ip地址。
2.(TCP三次握手)获取相应的ip地址后,客户端与服务器端建立TCP连接(三次握手),(网络层,数据链路层,物理层)
三次握手–>
第一次握手:客户端向服务器端发送一个SYN段,该段中包含客户端的初始序列号。
第二次握手:服务器端返回客户端SYN+ACK,该端中包含服务器端的初始序列号,ACK表示,已经确定收到客户端的SYN段。
第三次握手:客户端向服务器端响应一个ACK端,ACK表示,已经确定接受到服务器端的SYN段。
3.(建立起TCP连接后发起http请求)客户端向服务器端发送请求,包含请求行,请求头。主要的两种请求方式(GET与POST)
GET:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据的内容,不安全,但高效。
POST:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效。
4.(服务器响应http请求)服务器处理请求,并返回响应,包含状态码,响应头,响应体。
5(浏览器解析http代码)浏览器收到响应,解析http代码渲染页面,并在浏览器页面展示出来。