如果使用requests向同一个服务器反复发送请求,那么可以使用requests.session,可以加快速度,节省资源。
requests.session中保存了cache,headers等配置。
节省资源的原理是复用已有的tcp连接,具体来说是保持一个已经建立的tcp连接不断开,也就是keep-alive,如果持续向同一个服务器发送请求,使用这种方式可以大量减少每次握手的时间和资源耗费。反之,对于一个只用一次的tcp管道,服务器一直保持维护这个无用的管道会浪费资源。
这种连接的管理不是requests完成的,而是由urllib完成的。requests通过把urllib的contection类封装成adapater使用。两者都是通过url的perfix(域名)来实现不同connection的划分。
网友评论