YSLOW法则中,为什么yahoo推荐用GET代替POST?
你一定听过“POST请求会被拆分成两个TCP包发送”这个经典结论,它常被用来解释为什么Yahoo的YSLOW优化法则推荐在AJAX中使用GET。但作者没有止步于此,他决定亲手验证一下这个看似权威的说法。 通过Wireshark抓包分析,作者确实观察到,在IE8等浏览器中,一个POST请求的HTTP头部和正文数据会被分开发送,形成两个独立的数据包。这初步印证了Yahoo的优化建议。 然而,实验出现了转折。当作者测试Firefox 5浏览器时,发现POST请求的头部和数据被合并到了一个TCP包中发送,与IE8的行为截然不同。这意味着,那个“POST必被拆分”的结论并非普适真理,其实际表现高度依赖于浏览器的具体实现。 这篇文章的价值在于,它带领读者完成了一次从盲从规范到动手验证的技术探索。作者的实测表明,即使是像“GET优于POST”这样被广泛接受的前端优化法则,其底层原理也可能因环境而异。这提醒我们,在技术选型时,不能只看结论,了解其在不同场景下的实际表现或许更重要。