zoukankan      html  css  js  c++  java
  • TCP、UDP和HTTP

    先来一个讲TCP、UDP和HTTP关系的

    1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。


    在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。


    在传输层中有TCP协议与UDP协议。
    在应用层有FTP、HTTP、TELNET、SMTP、DNS等协议。
    因此,HTTP本身就是一个协议。是从Webserver传输超文本到本地浏览器的传送协议。

     

    2、HTTP协议是建立在请求/响应模型上的。首先由客户建立一条与server的TCP链接,并发送一个请求到server。请求中包括请求方法、URI、协议版本号以及相关的MIME样式的消息。

    server响应一个状态行,包括消息的协议版本号、一个成功和失败码以及相关的MIME式样的消息。
    HTTP/1.0为每一次HTTP的请求/响应建立一条新的TCP链接。因此一个包括HTML内容和图片的页面将须要建立多次的短期的TCP链接。一次TCP链接的建立将须要3次握手。


    另外,为了获得适当的传输速度。则须要TCP花费额外的回路链接时间(RTT)。

    每一次链接的建立须要这样的常常性的开销,而其并不带有实际实用的数据。仅仅是保证链接的可靠性,因此HTTP/1.1提出了可持续链接的实现方法。HTTP/1.1将仅仅建立一次TCP的链接而反复地使用它传输一系列的请求/响应消息,因此降低了链接建立的次数和常常性的链接开销。

     

    3、结论:尽管HTTP本身是一个协议,但其终于还是基于TCP的

    只是,眼下,有人正在研究基于TCP+UDP混合的HTTP协议。

    Socket是什么呢?
           Socket是应用层与TCP/IP协议族通信的中间软件抽象层。它是一组接口。在设计模式中,Socket事实上就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是所有,让Socket去组织数据,以符合指定的协议。


    HTTP、TCP、UDP、Socket <wbr> <wbr> <wbr>(转)

  • 相关阅读:
    CF1454F Array Partition
    leetcode1883 准时抵达会议现场的最小跳过休息次数
    leetcode1871 跳跃游戏 VII
    leetcode1872 石子游戏VIII
    CF1355C Count Triangles
    CF1245D Shichikuji and Power Grid
    CF1368C Even Picture
    CF1368D AND, OR and square sum
    CF1395C Boboniu and Bit Operations
    SpringBoot和开发热部署
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7019804.html
Copyright © 2011-2022 走看看