1. 程式人生 > >python3 web框架之Django(一、web框架---本質)

python3 web框架之Django(一、web框架---本質)

首先,不得不說,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框架嗎。