首页 > 编程知识 正文

高效液相色谱基本原理,网络请求原理

时间:2023-05-05 08:34:42 阅读:15507 作者:544

译文: http://blog.csdn.net/hgu ISU/article/details/8680808

1. HTTP概述

HTTP协议(超文本传输协议)是用于将超文本从WWW服务器传输到本地浏览器的传输协议。 这提高了浏览器的效率,减少了网络传输。 除了确保计算机准确快速地传输超文本文档外,还确定传输的文档的哪些部分以及哪些部分首先显示(例如,文本在图形之前显示)。

在了解HTTP的工作原理之前,了解计算机之间的通信。

2 .计算机间通信互联网的关键技术是TCP/IP协议。 两台计算机之间的通信通过TCP/IP协议在互联网上进行。 其实这是两个协议:

TCP :传输控制协议传输控制协议和IP :互联网协议互联网协议。

IP:计算机之间的通信

IP协议是计算机用于相互识别的通信机制,每台计算机都有一个IP,用于在互联网上识别这台计算机。 IP负责在互联网上发送和接收数据包。 通过IP,消息(或其他数据)被分成小的独立数据包,并通过互联网在计算机之间传输。 IP负责将每个数据包路由到目的地。

IP协议只允许计算机互相发送消息,但不检查消息是否按照发送的顺序到达和损坏(仅检查重要的头数据)。 为了提供消息验证功能,在IP协议上设计了直接传输控制协议TCP。

TCP : 应用程序之间的通信

TCP保证分组以正确的顺序到达,并尝试确认分组的内容没有发生变化。 TCP在IP地址上放置端口(port ),允许计算机通过网络提供各种服务。 一些端口号是为不同的服务保留的,众所周知。

服务或守护程序:包含用于在提供服务的计算机上接收特定端口上的通信流的程序。 例如,很多电子邮件通信现在流出到端口25,wwww用的HTTP通信现在流出到80端口。

如果APP应用程序想通过TCP与另一个APP应用程序进行通信,请发送通信请求。 这个要求必须送到正确的地址。 双方“握手”后,TCP在两个APP应用之间建立全双工(全双工)通信,并占用两台计算机之间的整个通信线路。 TCP用于控制从APP应用程序到网络的数据传输。 TCP负责在数据传输前将其拆分为IP数据包,并在到达时重新组织。

ght:26px">        TCP/IP 就是TCP 和 IP 两个协议在一起协同工作,有上下层次的关系。

       TCP 负责应用软件(比如你的浏览器)和网络软件之间的通信。IP 负责计算机之间的通信。TCP 负责将数据分割并装入 IP 包,IP 负责将包发送至接受者,传输过程要经IP路由器负责根据通信量、网络中的错误或者其他参数来进行正确地寻址,然后在它们到达的时候重新组合它们。

 关于TCP请参考《TCP三次握手及释放连接详解》

3. HTTP协议所在的协议层

      HTTP是基于TCP协议之上的。在TCP/IP协议参考模型的各层对应的协议如下图,其中HTTP是应用层的协议。

      


 

4. HTTP请求响应模型   

       HTTP由请求和响应构成,是一个标准的客户端服务器模型(B/S)。HTTP协议永远都是客户端发起请求,服务器回送响应。见下图:

    

 

       HTTP是一个无状态的协议。无状态是指客户机(Web浏览器)和服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后服务器返回响应(response),连接就被关闭了,在服务器端不保留连接的有关信息.HTTP遵循请求(Request)/应答(Response)模型。客户机(浏览器)向服务器发送请求,服务器处理请求并返回适当的应答。所有HTTP连接都被构造成一套请求和应答。

 

5. HTTP工作过程      

     一次HTTP操作称为一个事务,其工作整个过程如下:

     1 ) 、地址解析,

     如用客户端浏览器请求这个页面:http://localhost.com:8080/index.htm

     从中分解出协议名、主机名、端口、对象路径等部分,对于我们的这个地址,解析得到的结果如下:
     协议名:http
     主机名:localhost.com
     端口:8080
     对象路径:/index.htm

      在这一步,需要域名系统DNS解析域名localhost.com,得主机的IP地址。


    2)、封装HTTP请求数据包

     把以上部分结合本机自己的信息,封装成一个HTTP请求数据包


     3)封装成TCP包,建立TCP连接(TCP的三次握手)

       在HTTP工作开始之前,客户机(Web浏览器)首先要通过网络与服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80。这里是8080端口

     4)客户机发送请求命令

       建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可内容。

     5)服务器响应

     服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

        实体消息是服务器向浏览器发送头信息后,它会发送一个空白行来表示头信息的发送到此为结束,接着,它就以Content-Type应答头信息所描述的格式发送用户所请求的实际数据

     6)服务器关闭TCP连接

     一般情况下,一旦Web服务器向浏览器发送了请求数据,它就要关闭TCP连接,然后如果浏览器或者服务器在其头信息加入了这行代码

    Connection:keep-alive

   TCP连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。

 

 

6. HTTP协议栈中各层数据流      

             首先我们看看客户端请求的时候,数据在各层协议的数据组织如下图:

         

            而服务器解析客户机请求就是反向操作的过程,如下图:

           
       

       客户机发起一次请求的时候:

       客户机会将请求封装成http数据包-->封装成Tcp数据包-->封装成Ip数据包--->封装成数据帧--->硬件将帧数据转换成bit流(二进制数据)-->最后通过物理硬件(网卡芯片)发送到指定地点。

       服务器硬件首先收到bit流....... 然后转换成ip数据包。于是通过ip协议解析Ip数据包,然后又发现里面是tcp数据包,就通过tcp协议解析Tcp数据包,接着发现是http数据包通过http协议再解析http数据包得到数据。




版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。