网络通信之web通信流程

web通信流程

在开始学web服务器之前,需要先理解web通信协议,才能够更好的吸收其中精华。
我们平时浏览网页的时候,会打开浏览器,输入网址后按下回车键,然后就会显示出你想要浏览的内容。在这个看似简单的用户行为背后,到底隐藏了什么?

  • 1.浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP。
  • 2.然后通过IP地址找到IP对应的服务器后,要求建立TCP连接。
  • 3.等浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开始处理请求包。
  • 4.服务器调用自身服务器,返回HTTP Response(响应)包
  • 5.客户端收到来自服务器的响应后开始渲染这个Response包里的主体(body),等收到全部的内容随后断开与该服务器之间的TCP连接。

web服务器工作原理

  • 1.客户端通过TCP/IP协议建立到服务器的TCP连接。
  • 2.客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档
  • 3.服务器想客户端发送HTTP协议应答包,如果请求的资源包含有动态语言的内容,那么服务器会调用动态语言的解释引擎负责处理“动态内容”,并将处理得到的数据返回给客户端。
  • 4.客户端与服务器断开,由客户端解释HTML文档,在客户端屏幕上渲染图行结果。

客户端请求到服务器流程

  • 1.当客户端拿到服务器域名对应的ip后,浏览器会以一个随机端口(1024<端口<65535)向服务器的web程序(nginx、tomcat)的80端口发起tcp连接请求。
  • 2.该请求经过复杂的网络环境达到服务器后,进入到服务器的对应的网卡,再进入到linux内核的tcp/ip协议栈,一层一层的解开数据包,甚至经过防火墙,最终到达nginx程序,确认tcp/ip连接。
  • 3.确认tcp连接之后,客户端继续发器http请求,如常见的get、post请求方法。

TCP/IP协议

传输控制协议(TCP)

是一个面向连接、可靠、基于字节流的传输层通信协议。
简单说就是TCP协议就是控制数据包在传输过程中的规范格式。
I#### IP
是Internet Protocol(网络互联协议)的缩写,是TCP/IP体系中的网络层协议。
设计IP的目的是提高网络的可拓展性,一是解决互联网问题,实现大规模、异构网络的互联互通;而是分割顶层网络应用和底层网络技术之间的耦合关系,以利于两者的独立发展。
根据端对端的设计原则,IP只为主机提供一种无连接、不可靠、尽力而为的数据包传输服务。

TCP/IP协议指的不仅仅是TCP、IP这两个协议。
而是由FTP、SMTP、TCP、UDP、IP等各种协议组成的协议簇,但是TCP/IP最最具有代表性,因此俗称TCP/IP协议。

OSI七层模型

定义的意义在于两台机器之间的数据收发规范。

posted @ 2023-03-31 00:23  King-DA  阅读(223)  评论(0)    收藏  举报