18 11 24 簡單的http伺服器
阿新 • • 發佈:2018-11-25
---恢復內容開始---
import socket def service_client(new_socket): """為這個客戶端返回資料""" # 1. 接收瀏覽器傳送過來的請求 ,即http請求 # GET / HTTP/1.1 # ..... request = new_socket.recv(1024) print(request) # 2. 返回http格式的資料,給瀏覽器 # 2.1 準備傳送給瀏覽器的資料---header response = "HTTP/1.1 200 OK\r\n" response += "\r\n" # 2.2 準備傳送給瀏覽器的資料---boy response += "hahahhah" new_socket.send(response.encode("utf-8")) # 關閉套接字 new_socket.close() def main(): """用來完成整體的控制""" # 1. 建立套接字 tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2. 繫結 tcp_server_socket.bind(("", 7890)) # 3. 變為監聽套接字 tcp_server_socket.listen(128) while True: # 4. 等待新客戶端的連結 new_socket, client_addr = tcp_server_socket.accept() # 5. 為這個客戶端服務 service_client(new_socket) # 關閉監聽套接字 tcp_server_socket.close() if __name__ == "__main__": main()
當一個 伺服器 訪問客戶端的時候 會進行三次握手 四次揮手
三次握手 就是 tcp 確定了 客戶端與伺服器之見 已經相互準備 可以繼續進行下去
四次
---恢復內容結束---