1、瀏覽器其實就是乙個socket客戶端,而web應用其實就是乙個socket服務端,並且web應用在伺服器上一直在監聽某個埠。
2、當瀏覽器請求某個web應用時,需要指定伺服器的ip(dns解析)和埠建立乙個socket連線。
3、建立鏈結後,web應用根據請求的不同,給使用者返回相應的資料。
4、斷開socket連線。(之所以說http是短鏈結,其實就是因為每次請求完成後,伺服器就會斷開socket鏈結)
import tornado.ioloopimport tornado.web
class
mainhandler(tornado.web.requesthandler):
"""處理"/"的檢視類
"""def
get(self):
"""get方法的處理
:return:
"""self.write(
"hello, world
") #
write方法會直接寫到socket中
if__name__ == "
__main__":
#tornado的檢視分發
(r"/
", mainhandler),
])#後台socket會監聽8888埠
#後台的ioloop會不斷迴圈
tornado.ioloop.ioloop.instance().start()
執行ioloop類的類的 start() 方法,即:tornado.ioloop.ioloop.instance().start()
整個過程其實就是在建立乙個socket服務端並監聽8888埠,當請求到來時,根據請求中的url和請求方式(post、get或put等)來指定相應的類中的方法來處理本次請求,在上述demo中只為url為的請求指定了處理類mainhandler(具體如何尋找見下文)。所以,在瀏覽器上訪問:,則伺服器給瀏覽器就會返回 hello,world ,否則返回 404: not found(tornado內部定義的值), 即完成一次http請求和響應。
由上述分析,我們將整個web框架分為兩大部分:
#後台的ioloop會不斷迴圈
tornado.ioloop.ioloop.instance().start()
Tcp Ip Socket通訊一之初識
tcp ip socket通訊一之初識 tcp ip socket 通訊是點對點的通訊,即伺服器點與客戶端點 伺服器 最重要的一點我認為就是監聽,伺服器一直等待 直觀的講,就是一直迴圈著 著來自客戶端的請求.伺服器端的要素 繫結伺服器位址,繫結乙個埠,就可以開始監聽了.客戶端 需要知道服務端的位址與...
網路原理之初識(一)
1 從網路結點分布來看,可分為區域網 local area network,lan 廣域網 wide area network,wan 和都會網路 metropolitan area network,man 2 按交換方式可分為線路交換網路 circurt switching 報文交換網路 mess...
資料庫之初識(一)
什麼是資料庫 資料庫 database db 概念 簡而言之可視為電子化的檔案櫃 儲存電子檔案的處所,使用者可以對檔案中的資料執行新增 擷取 更新 刪除等操作。作用 儲存資料,管理資料。資料庫的分類 關係型資料庫 sql mysql oracle sql server db2 sqllite 通過表...