建立一个web请求的过程 和所要用的协议以及它们的作用

来源:互联网 发布:企业站seo 编辑:程序博客网 时间:2024/06/05 09:51

用户在web浏览器地址栏输入确切地址后,会得到服务器的响应。用户在建立这一web请求后,则会经历一系列的协议。例如用户在web浏览器(如IE)地址栏输入URL(统一资源定位符),比如http://tms.jlu.edu.cn,前面的http就属其中的一个协议类型。

由于所发出的数据要通过被访问主机的IP地址进行传输和路由,所以要先通过DNS服务器将域名解析为IP地址(假设DNS和我们的主机在一个网段):首先主机会产生一个DNS请求,将请求传递给传输层,通过UDPUser Datagram Protocol,用户数据报协议)产生一个UDP 报文,再传递给网络层产生一个IP报文,目的地址是DNS服务器的IP地址然后在数据链路层通过ARPAddress Resolution Protocol,地址解析协议)协议得到DNS服务器的MAC地址。这以后把数据帧通过以太网传输给DNS服务器DNS服务器再将收到的帧向上传给传输层,得到UDP报文。通过UDP报文中指定的端口号传给DNS应用程序。假设要解析的域名在当前的DNS服务器中有相应的表项(如果不在当地,本地DNS服务器还要向上级的DNS服务器发出DNS查询请求,如此递归直到查到要解析的域名的IP地址)。 DNS把通过DNS应答将得到的IP地址返回给请求的主机。

虽然浏览器得到对方的IP地址了,但仍不能发出请求。 

首先要和对方服务器建立一个TCP(传输控制协议,TCPUDP同属传输层,但是TCP协议是个可靠的面向连接的协议,要比UDP复杂的多。TCP更适合要求可靠传输的应用。)连接。建立连接通过三次握手方法,这里和以下发送的TCP报文同样要传给下一层:网络层。同样的,IP层给TCP报文加上IP报头,发送给路由器(假设主机和web服务器不在同一个网内),路由器根据报文中的目的IP地址决定下一跳的IP地址和端口。这个决定需要查询它自身的路由表(而路由表的维护需要路由协议,比如OSPF等)。IP报文可能通过多个路由器的转发,终于到达了对方的服务器。再剥掉IP报头递交给上层。建立好了TCP连接,以后发送的数据都可以这条可靠的连接传输了。和WEB服务器之间的TCP连接建立成功。就可以发送请求啦。WEB服务器收到请求,就可以将响应信息通过刚才建立好的TCP连接送回给请求方。

通过以上过程的描述我们可以发现,在发出web请求后所需要的协议有:

http协议、用户数据报协议、地址解析协议、TCP协议、路由协议和IP协议。它们的作用分别是,http协议:超文本传送协议 (HTTP) 是一种通信协议,它允许将超文本标记语言 (HTML) 文档从Web 服务器传送到 Web 浏览器HTML 是一种用于创建文档的标记语言,这些文档包含到相关信息的链接。您可以单击一个链接来访问其它文档、图像或多媒体对象,并获得关于链接项的附加信息。HTTP工作在TCP/IP协议体系中的TCP协议上。

用户数据报协议(UDP):U D P是一个简单的面向数据报的运输层协议,进程的每个输出操作都正好产生一个U D P数据报,并组装成一份待发送的I P数据报,提供面向事务的简单不可靠信息传送服务

地址解析协议(ARP):实现通过IP地址得知其物理地址。在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址。为了让报文在物理网路上传送,必须知道对方目的主机的物理地址。这样就存在把IP地址变换成物理地址的地址转换问题。就比如以太网环境,为了正确地向目的主机传送报文,必须把目的主机的32IP地址转换成为48位以太网的地址。这就需要在互连层有一组服务将IP地址转换为相应物理地址,这组协议就是ARP协议。

路由协议:路由协议通过在路由器之间共享路由信息来支持可路由协议。路由信息在相邻路由器之间传递,确保所有路由器知道到其它路由器的路径。总之,路由协议创建了路由表,描述了网络拓扑结构;路由协议与路由器协同工作,执行路由选择和数据包转发功能。

TCP协议和IP协议组成一个体系,即TCP/IP协议(TCP传输控制协议和IP互联网协议),它由网络层的IP协议和传输层的TCP协议组成, TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。