Skip to main content

tornado.http1connection - HTTP/1.x客户端/服务器实现

HTTP/1.x的客户端和服务器实现。

4.0 新版功能.

class tornado.http1connection.HTTP1ConnectionParameters(no_keep_alive=False, chunk_size=None, max_header_size=None, header_timeout=None, max_body_size=None, body_timeout=None, decompress=False)[源代码]

HTTP1ConnectionHTTP1ServerConnection 的参数。

参数:
  • no_keep_alive (bool) – 如果为true,请在一个请求后始终关闭连接。
  • chunk_size (int) – 一次读入内存的数据量
  • max_header_size (int) – HTTP标头的最大数据量
  • header_timeout (float) – 等待所有标头多长时间(秒)
  • max_body_size (int) – 最大数据量的身体
  • body_timeout (float) – 阅读身体时等待的时间(秒)
  • decompress (bool) – 如果为true,则解码传入的 Content-Encoding: gzip
class tornado.http1connection.HTTP1Connection(stream, is_client, params=None, context=None)[源代码]

实现HTTP/1.x协议。

这个类可以独立于客户端,或通过 HTTP1ServerConnection 用于服务器。

参数:
  • streamIOStream
  • is_client (bool) – 客户端或服务器
  • paramsHTTP1ConnectionParameters 实例或 None
  • context – 一个不透明的应用程序定义的对象,可以作为 connection.context 访问。
read_response(delegate)[源代码]

读取单个HTTP响应。

典型的客户端模式用法是使用 write_headerswritefinish 编写请求,然后调用 read_response

参数:delegateHTTPMessageDelegate

返回在读取完整响应后解析为“无”的 Future

set_close_callback(callback)[源代码]

设置当连接关闭时将运行的回调。

4.0 版后已移除: 请改用 HTTPMessageDelegate.on_connection_close

detach()[源代码]

控制底层流。

返回底层 IOStream 对象并停止所有进一步的HTTP处理。只能在 HTTPMessageDelegate.headers_received 期间呼叫。用于实现协议,如websockets通过HTTP握手隧道。

set_body_timeout(timeout)[源代码]

设置单个请求的主体超时。

覆盖 HTTP1ConnectionParameters 的值。

set_max_body_size(max_body_size)[源代码]

设置单个请求的正文大小限制。

覆盖 HTTP1ConnectionParameters 的值。

write_headers(start_line, headers, chunk=None, callback=None)[源代码]

实施 HTTPConnection.write_headers

write(chunk, callback=None)[源代码]

实施 HTTPConnection.write

对于向后兼容性是允许的,但是不推荐跳过 write_headers,而是调用具有预编码头部块的 write()

finish()[源代码]

实施 HTTPConnection.finish

class tornado.http1connection.HTTP1ServerConnection(stream, params=None, context=None)[源代码]

HTTP/1.x服务器。

参数:
close(*args, **kwargs)[源代码]

关闭连接。

返回在服务循环退出后解析的 Future

start_serving(delegate)[源代码]

在此连接上开始提供请求。

参数:delegateHTTPServerConnectionDelegate