当HTTP(S)POST将数据传递到

2024-03-29 12:11:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用python脚本和pycurlBASIC身份验证,通过调用保持连接打开)连接到某个https端点,并体验到一种奇怪的行为:

  • POST从具有高带宽的网络连接(LAN或我的uberspace)的客户机进行POST时,我得到的响应时间弱依赖于有效负载大小(例如,1 kB的POST以40毫秒为单位,20 kB需要大约70毫秒)。你知道吗
  • 当从家里连接时(电缆,下行25 MBit/s,上行1 MBit/s),我不仅遇到较慢的响应时间(这是我所期望的),而且还有更严重的依赖性(即1 kB为60毫秒,20 kB为400+毫秒)。这似乎是独立的,无论我张贴从有线覆盆子Pi或Wifi连接i5电脑,所以我总结的问题是上游带宽。你知道吗

但是:客户机记录的相应响应时间也由服务器记录(我认为是tomcat),增量为3毫秒。你知道吗

问题:如何从各自的设置中解释这一点?你知道吗

我在想,当然,一个缓慢的连接将需要更多的时间来向服务器传递有效负载。因此,我对响应时间本身没有太大的问题。我只是有一个问题,我缺乏理解:

我在想,客户机通过网络将有效负载“交付”到服务器,然后服务器将在它“存在”后开始处理它。因此,我希望客户端记录的响应时间比主机记录的响应时间长(不同的读数是花费在“互联网”上的时间)。当连接的带宽较低时,三角洲应较大,随着带宽的增加,三角洲应变小。但我似乎对POST和网络连接的工作原理有一些深刻的误解。我花了一整晚的时间来寻找更多关于client(curl在这个例子中)和webserver(在这个例子中应该是tomcat)握手的信息,但是当我找到great trivia关于早期网络的信息时,我没能找到任何能让我对握手有更深理解的东西。我会很感激任何提示或指点如何挖掘。你知道吗


Tags: 网络服务器脚本信息客户机kbbasic记录