V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
3dwelcome
V2EX  ›  问与答

无法关掉的手机端 AJAX POST 分包处理,性能的大坑。可桌面版 Chrome 又没此类问题,不知道是不是和桌面网卡的优化有着一点关系?

  •  
  •   3dwelcome · 2016-07-29 16:35:27 +08:00 · 1902 次点击
    这是一个创建于 3037 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这是一直以来,就存在的问题,指用 XMLHttpRequest 提交 ajax 的时候,如果是 POST 而不是 GET, 那么十有八九,会提交两个 IP 包,一个是 head, 一个是 body 。

    也就是说,两个包是完全分离的,哪怕你 body 只是很小的一句话,也是两个部分。这对网络优化是很不友好的。

    解决方法有,换成 GET 方法提交数据,就没问题。可我想用 POST 啊,很奇怪的是,用桌面版 Chrome 抓包测试,就完全不存在性能问题,就直接一个包发送,这也太神奇了。

    目前 mac 没测试,但 ios 和 android 都是分包处理的。唯独 win32 桌面版本的 Firefox, Chrome 之类的是优化过的吗。。?

    4 条回复    2016-07-29 21:09:25 +08:00
    3dwelcome
        1
    3dwelcome  
    OP
       2016-07-29 20:28:11 +08:00 via Android
    有没有办法通过设置手机的 tcp 粘包机制、来解决?
    xxxyyy
        2
    xxxyyy  
       2016-07-29 20:44:22 +08:00 via Android
    底层的协议栈还会去识别上层的协议?这么智能?那如果是 HTTPS 的呢?
    3dwelcome
        3
    3dwelcome  
    OP
       2016-07-29 21:07:18 +08:00 via Android
    可以合并的、这在 tcpip 协议里有说到、在桌面端我知道可以自己设置。但手机端就完全木知了。
    choury
        4
    choury  
       2016-07-29 21:09:25 +08:00 via Android
    你在浏览器里还能改 ip 层的设置?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1237 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:58 · PVG 01:58 · LAX 09:58 · JFK 12:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.