• 422-计算机网络(7-13)


    7、HTTP长连接和短连接的区别

    • 在HTTP/1.0中默认使用短连接。也就是说,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接。
    • 而从HTTP/1.1起,默认使用长连接,用以保持连接特性。

    8、什么是TCP粘包/拆包?发生的原因?

    一个完整的业务可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这个就是TCP的拆包和粘包问题。

    原因:

    • 应用程序写入数据的字节大小大于套接字发送缓冲区的大小。
    • 进行MSS大小的TCP分段。( MSS=TCP报文段长度-TCP首部长度)
    • 以太帧的数据部分大于MTU进行IP分片。( MTU指:一种通信协议的某一层上面所能通过的最大数据包大小。)

    解决方案:

    1. 消息定长
    2. 包尾部增加回车或者空格符等特殊字符进行分割
    3. 消息分为消息头消息尾
    4. 使用其它复杂的协议,如RTMP协议等。

    9、为什么服务器会缓存这一项功能?如何实现的?

    原因:

    • 缓解服务器压力
    • 降低客户端获取资源的延迟: 缓存通常位于内存中,读取缓存的速度更快。并且缓存服务器在地理位置上也有可能比源服务器来得近,例如浏览器缓存。

    实现方法:

    • 让代理服务器进行缓存;
    • 让客户端浏览器进行缓存。

    10、HTTP请求方法你知道多少?

    客户端发送的 请求报文 第一行为请求行,包含了方法字段。

    根据 HTTP 标准,HTTP 请求可以使用多种请求方法。

    HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

    在这里插入图片描述

    11、GET 和 POST 的区别,你知道哪些?

    • get是获取数据,post是修改数据;
    • get把请求的数据放在url上, 以?分割URL和传输数据,参数之间以&相连,所以get不太安全。而post把数据放在HTTP的包体内(requrest body)
    • get提交的数据最大是2k( 限制实际上取决于浏览器), post理论上没有限制;
    • GET产生一个TCP数据包,浏览器会把http header和data一并发送出去,服务器响应200(返回数据); POST产生两个TCP数据包,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。
    • GET请求会被浏览器主动缓存,而POST不会,除非手动设置。
    • 本质区别: GET是幂等的,而POST不是幂等的。(幂等性:幂等性是指一次和多次请求某一个资源应该具有同样的副作用。简单来说意味着对同一URL的多个请求应该返回同样的结果。)

    12、一个TCP连接可以对应几个HTTP请求?

    如果维持连接,一个 TCP 连接是可以发送多个 HTTP 请求的。

    13、协议

    物理层: RJ45、CLOCK、IEEE802.3(中继器,集线器,网关)
    数据链路: PPP、FR、HDLC、VLAN、MAC(网桥,交换机)
    网络层: IP、ICMP、ARP、RARP、OSPF、IPX、RIP、IGRP、(路由器)
    传输层: TCP、UDP、SPX
    会话层: NFS、SQL、NETBIOS、RPC
    表示层: JPEG、MPEG、ASII
    应用层: FTP、DNS、Telnet、SMTP、HTTP、WWW、NFS

    TCP对应的协议:
    (1)FTP:定义了文件传输协议,使用21端口。
    (2)Telnet:一种用于远程登陆的端口,使用23 端口,用户可以以自己的身份远程
    连接到计算机上,可提供基于DOS模式下的通信服务。
    (3)SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。
    (4)POP3:它是和SMTP 对应,POP3 用于接收邮件。POP3 协议所用的是110 端
    口。
    (5)HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。
    UDP对应的协议:
    (1)DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。
    (2)SNMP:简单网络管理协议,使用161 号端口,是用来管理网络设备的。由于
    网络设备很多,无连接的服务就体现出其优势。
    (3)TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。

  • 相关阅读:
    react父子组件传参demo
    【STL】容器遍历:std::for_each例子
    python连接自己的机器人接口在微信聊天
    栅栏涂色题
    MySQL索引原理及慢查询优化
    C //例4.6 要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70~84分,C等为60~69分,D等为60分以下。成绩的等级由键盘输入。
    web前端翻页:技术探秘与未来趋势
    你以为键入网址后只是等待吗?惊!原来网页显示背后隐藏着这些奇妙步骤(终章)
    ⽂件权限管理(上)
    Set方法
  • 原文地址:https://blog.csdn.net/Edward_LF/article/details/125450320