1.HTTP 解析URL
URL元素组成:http + // + web服务器 + / +目录名 + / 。。。文件名
开头访问数据的协议
会去检索web服务器的文件路径
URL是在请求服务器的资源
当没有路径名时,会访问根目录下预先设计好的默认文件
之后生成HTTP请求信息
2.DNS进行真实地址查询,获取IP
3.浏览器向web服务器发送一个HTTP请求
拿到域名对应的IP地址后,浏览器会以一个随机端口向服务器的WEB程序(httpd,nginx)80端口发起TCP的连接请求。这个连接请求到达服务端后(经过路由设备)进入网卡,进入到内核的TCP/IP协议栈,建立TCP/IP联系。
TCP三次握手
用户端和服务端都处于关闭状态closed
用户端主动打开,SYN=1 seq=x
服务端被动打开,SYN=1,ACK=1,seq=y,ack=x+1
用户端返回,ACK=1,seq=x+1,ack=y+1
TCP三次握手详细:
第一次握手 客户端将标志位SYN置为1,随机发送一个值seq=x(1234567)的数据包到服务器,客户端进入到SYN_SENT状态
第二次握手 服务端接到标志位为1,得到客户端要建立连接的请求,服务端发送请求包,标志位为x+1,随机数seq=y,请求同步包标志位为1发送给客户端
第三次握手 客户端接收到以后首先确认标志位是否为J+1,如果正确,发送一个请求确认包,标志位y+1,发送到服务端。服务端检查标志位,若正确则成功建立连接
TCP四次挥手详细
第一次 客户端发送连接释放报文
第二次 服务端接收到报文,发出确认报文
第三次 此时服务端还关闭发送数据到客户端,可以继续发送。若没有数据发送,向客户端发送释放连接报文
第四次 客户端收到释放连接报文后,发出确认报文。
总结来看,http发送数据到服务器,就是应用层http发出请求,到传输层进行tcp三次握手建立tcp/ip连接,再网络层的ip寻址,数据链路层封装成帧,最后物理层利用物理介质传输。
太多会炸,要均衡负载,nginx反向代理