日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Tornado教程:Tornado非阻塞HTTP服務(wù)器

一個非阻塞的單線程 HTTP 服務(wù)器。

成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、成都網(wǎng)站建設(shè)、微信開發(fā)、小程序開發(fā)、集團成都定制網(wǎng)頁設(shè)計等服務(wù)項目。核心團隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗,服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:主動防護網(wǎng)等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗,同時也獲得了客戶的一致認可!

典型的應(yīng)用程序與 ?HTTPServer類幾乎沒有直接交互,除了在進程開始時啟動服務(wù)器(甚至通常通過tornado.web.Application.listen間接完成)。

在 4.0 版更改:曾經(jīng)存在于此模塊中的 ?HTTPRequest類已移至 ?tornado.httputil.HTTPServerRequest?。 舊名稱保留為別名。

HTTP服務(wù)器

class tornado.httpserver.HTTPServer(request_callback: Union[httputil.HTTPServerConnectionDelegate, Callable[[httputil.HTTPServerRequest], None]], no_keep_alive: bool = False, xheaders: bool = False, ssl_options: Union[Dict[str, Any], ssl.SSLContext] = None, protocol: Optional[str] = None, decompress_request: bool = False, chunk_size: Optional[int] = None, max_header_size: Optional[int] = None, idle_connection_timeout: Optional[float] = None, body_timeout: Optional[float] = None, max_body_size: Optional[int] = None, max_buffer_size: Optional[int] = None, trusted_downstream: Optional[List[str]] = None)

一個非阻塞的單線程 HTTP 服務(wù)器。

服務(wù)器由 ?HTTPServerConnectionDelegate ?的子類定義,或者為了向后兼容,使用 ?HTTPServerRequest作為參數(shù)的回調(diào)。 委托通常是一個 ?tornado.web.Application?。

?HTTPServer默認支持keep-alive 連接(對于HTTP/1.1 自動支持,或者在客戶端請求?Connection: keep-alive時支持HTTP/1.0)。

如果 ?xheaders為 ?True?,我們支持 ?X-Real-Ip?/?X-Forwarded-For? 和 ?X-Scheme?/?X-Forwarded-Proto? 標(biāo)頭,它們會覆蓋所有請求的遠程 IP 和 URI 方案/協(xié)議。 在反向代理或負載均衡器后面運行 Tornado 時,這些表頭很有用。 如果 Tornado 在未設(shè)置受支持的 ?xheaders ?之一的 SSL 解碼代理后面運行,則?protocol?參數(shù)也可以設(shè)置為 ?https?。

默認情況下,在解析 ?X-Forwarded-For? 標(biāo)頭時,Tornado 將選擇主機列表中的最后一個(即最近的)地址作為遠程主機 IP 地址。 要選擇鏈中的下一個服務(wù)器,可以將受信任的下游主機列表作為?trusted_downstream參數(shù)傳遞。 解析 ?X-Forwarded-For? 標(biāo)頭時將跳過這些主機。

要使此服務(wù)器為 SSL 流量提供服務(wù),請發(fā)送帶有 ?ssl.SSLContext? 對象的 ?ssl_options? 關(guān)鍵字參數(shù)。 為了與舊版本的 python 兼容,?ssl_options? 也可能是 ?ssl.wrap_socket? 方法的關(guān)鍵字參數(shù)字典。:

ssl_ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
ssl_ctx.load_cert_chain(os.path.join(data_dir, "mydomain.crt"),
                        os.path.join(data_dir, "mydomain.key"))
HTTPServer(application, ssl_options=ssl_ctx)

?HTTPServer初始化遵循以下三種模式之一(初始化方法在 ?tornado.tcpserver.TCPServer? 上定義):

1、?listen?:簡單的單進程:

server = HTTPServer(app)
server.listen(8888)
IOLoop.current().start()

在許多情況下,可以使用 ?tornado.web.Application.listen? 來避免顯式創(chuàng)建 ?HTTPServer? 的需要。

2、?bind?/?start?:簡單的多進程:

server = HTTPServer(app)
server.bind(8888)
server.start(0)  # Forks multiple sub-processes
IOLoop.current().start()

使用此接口時,不得將 ?IOLoop傳遞給 ?HTTPServer構(gòu)造函數(shù)。 ?start將始終在默認單例 ?IOLoop上啟動服務(wù)器。

3、?add_sockets?:先進的多進程:

sockets = tornado.netutil.bind_sockets(8888)
tornado.process.fork_processes(0)
server = HTTPServer(app)
server.add_sockets(sockets)
IOLoop.current().start()

?add_sockets接口更復(fù)雜,但它可以與 ?tornado.process.fork_processes? 一起使用,以便在分叉發(fā)生時給您更多的靈活性。如果您想以除 ?tornado.netutil.bind_sockets? 之外的其他方式創(chuàng)建偵聽 sockets,則 ?add_sockets? 也可用于單進程服務(wù)器。

在 4.0 版更改:添加了 ?decompress_request?、?chunk_size?、?max_header_size?、?idle_connection_timeout?、?body_timeout?、?max_body_size參數(shù)。 添加了對 ?HTTPServerConnectionDelegate實例作為 ?request_callback的支持。

在 4.1 版更改:?HTTPServerConnectionDelegate.start_request? 現(xiàn)在使用兩個參數(shù)(?server_conn?,?request_conn?)而不是一個(?request_conn?)調(diào)用。

在 4.2 版更改:?HTTPServer現(xiàn)在是 ?tornado.util.Configurable? 的子類。

在 4.5 版更改: 添加了?trusted_downstream參數(shù)。

在 5.0 版更改: ?io_loop ?參數(shù)已被刪除。

該類的公共接口主要繼承自 ?TCPServer?,并記錄在該類下。

coroutineclose_all_connections() → None

關(guān)閉所有打開的連接并異步等待它們完成。

此方法與 stop 結(jié)合使用以支持清除關(guān)閉(尤其是對于單元測試)。 典型用法是首先調(diào)用 ?stop()? 停止接受新連接,然后 ?await close_all_connections()? 等待現(xiàn)有連接完成。

此方法當(dāng)前不會關(guān)閉打開的 websocket 連接。

請注意,此方法是協(xié)程,必須與 ?await一起調(diào)用。


文章名稱:創(chuàng)新互聯(lián)Tornado教程:Tornado非阻塞HTTP服務(wù)器
文章位置:http://www.dlmjj.cn/article/djssdij.html