Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Twisted:忽略Safari搜索栏中的预取请求_Python_Http_Safari_Twisted - Fatal编程技术网

Python Twisted:忽略Safari搜索栏中的预取请求

Python Twisted:忽略Safari搜索栏中的预取请求,python,http,safari,twisted,Python,Http,Safari,Twisted,我有一个twisted服务器,它创建和服务大型文件以响应GET请求。我通过在twisted.web.resource.resource的render\u GET方法中创建twisted.protocols.basic.FileSender来实现这一点(我不知道这是否是最好的方法,但它是有效的) 我遇到的问题是,我注意到,当我在Safari搜索栏中键入URL时,服务器在每次键入字符时都会收到一个新请求。我理解Safari为什么这样做,但我的服务器响应这些请求并不理想。Safari正确地要求服务器停

我有一个twisted服务器,它创建和服务大型文件以响应GET请求。我通过在
twisted.web.resource.resource
render\u GET
方法中创建
twisted.protocols.basic.FileSender
来实现这一点(我不知道这是否是最好的方法,但它是有效的)

我遇到的问题是,我注意到,当我在Safari搜索栏中键入URL时,服务器在每次键入字符时都会收到一个新请求。我理解Safari为什么这样做,但我的服务器响应这些请求并不理想。Safari正确地要求服务器停止生成文件(我在日志中看到“消费者要求我们停止生成”),但如果客户端一开始就不需要这些文件,则构建这些文件会浪费服务器上的资源(特别是因为随着用户类型的不同,可能会产生很多资源)

我没有注意到请求头中有任何东西能够区分这些(预回迁?)请求。有没有什么方法可以让我发现并忽略它们


编辑:下面是twisted为getAllHeaders()返回的内容


它不发送
“X用途:预回迁”或“用途:预回迁”
标题?不,它没有,虽然我希望看到(我猜Safari不考虑这些请求预取)。我编辑了我的问题以显示扭曲报告的标题。它不发送
“X用途:预回迁”或“用途:预回迁”
标题?不,它没有,虽然我希望看到(我猜Safari不考虑这些请求预取)。我编辑了我的问题以显示扭曲报告的标题。
{b'connection': b'keep-alive',
 b'accept': b'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
 b'host': b'localhost:4002',
 b'accept-language': b'en-us',
 b'user-agent': b'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38',
 b'upgrade-insecure-requests': b'1',
 b'accept-encoding': b'gzip, deflate'
}