python3 web框架之Django(一、web框架---本質)
阿新 • • 發佈:2018-12-17
首先,不得不說,web框架的根源就是socket!
先上程式碼
import socket def handle_request(Client): msg = Client.recv(1024) Client.send(bytes("HTTP/1.1 200 OK\r\n\r\n",'utf-8')) Client.send(bytes("Hello WEB!",'utf-8')) def main(): s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) host = "127.0.0.1" s.bind((host,8000)) s.listen(5) print(' * Running on %s '%host) while True: conn,addr=s.accept() handle_request(conn) conn.close() if __name__ == '__main__': main()
效果如圖:
十七行程式碼就可以構成最簡單的網頁,那這十七行程式碼能不能再精簡呢?能。
from wsgiref.simple_server import make_server def handle_request(env, res): res("200 OK",[("Content-Type","text/html")]) body = "<h1>Hello World!</h1>" return [body.encode("utf-8")] if __name__ == "__main__": httpd = make_server("127.0.0.1",8000,handle_request) print("Serving http on port 8000") httpd.serve_forever()
這裡socket我們沒有寫而是匯入了一個包,它封裝了我們需要的東西,這樣我們就不用寫了。
這不就是一個極簡的WEB框架嗎。