F5 BIG IP - 截断HTTP响应的ajax POST

时间:2017-02-15 10:03:46

标签: ajax post jmeter f5

Jmeter 2.12。

我在反向代理Apache之前使用了一个完全正常运行的场景。最近我们用F5 BIGIP技术替换了反向代理,现在我的方案仍然存在。

问题是特定的ajax POST请求HTTP响应被截断:我收到200 OK但HTML内容不满(例如没有html标签)。当我用Firefox发布相同的请求时,完整的内容是可以的。 请注意,我没有收到http标头Transfer-Encoding:chunked。

在这种情况下,Firefox和JMETER之间有什么区别? 任何人都知道如何获得完整的HTML响应?

感谢您的回复。

2 个答案:

答案 0 :(得分:0)

这完全取决于您的F5上的设置以及您的确切含义"响应被截断"和#34;没有HTML标签"。你得到了正确的答案但是html标签被删除了吗?或者只是截断响应,所以你只得到前n个字节?

找出实际出错的最佳方法是在中间使用类似fiddler的东西,并尝试找出响应之间的真正差异,特别是关于响应头(Content-Length,Transfer-Encoding等)。

当您发现实际差异时,请在此处发布,以便我们为您提供进一步的帮助。

在旁注中,您是否有机会对f5(iRules)进行一些自定义编码,以响应不同的用户代理设置?

答案 1 :(得分:0)

鉴于您发送相同的请求,您应该收到相同的回复。

使用JMeter的View Results Tree侦听器检查请求详细信息,甚至更好地比较Firefox和JMeter使用较低级别网络嗅探工具(如Wireshark)发送的请求,检测差异并相应地配置JMeter以发送与Firefox相同的请求。

另一个原因可能是JMeter截断大响应,默认情况下JMeter显示"仅#34; View Results Tree监听器中的前10兆字节(如果是这种情况) - 您可以将下一行添加到 user.properties 文件中:

view.results.tree.max_size=0

并重新启动JMeter以选择属性 - 它将抑制响应截断,您将能够查看完整的响应数据。

设置属性的另一种方法是通过-J命令行参数传递它,如:

jmeter -Jview.results.tree.max_size=0 ....

参考文献: