import re
import socket
from multiprocessing import process
def handle_client(client_skt):
# 接收客戶端資料
recv_data = client_skt.recv(1024)
# 按照換行進行切割
request_lines = recv_data.splitlines()
if request_lines:
# 提取請求行
request_method_line = request_lines[0].decode('utf-8')
# 提取檔名
file_name = re.match('[^/]+(/[^ ]*)', request_method_line).group(1)
else:
# 空白請求
# 建立tcp套接字
server_skt = socket.socket(family=socket.af_inet, type=socket.sock_stream)
# 繫結主機和埠
server_skt.bind((』』, 8880))
# 監聽服務
server_skt.listen(20)
while true:
# 阻塞,等待客戶端連線
client_skt, client_addr = server_skt.accept()
# 建立乙個新的程序處理請求
client_process = process(target=handle_client, args=(client_skt,))
# 啟動程序
client_process.start()
# 關閉連線
client_skt.close()
web服務端重定向
伺服器重定向常見某些 引導登陸頁面 例如 點選購物車會跳轉到登陸頁面 服務端的重定向功能主要由響應頭的302 狀態碼來實現 用nodejs,寫的服務端重定向 1.匯入模組 2.建立伺服器 登陸頁 if req.url login res.end data 3.開啟伺服器 server.listen ...
web服務端的架構演變
最近lofter專案碰到很多效能上的問題,特別是資料庫相關的,每次推送後,告警就會第一時間到來。這些問題隨著產品的不斷擴充套件,我想大家肯定都遇到過。目前我們解決效能問題一般都是兩種方法 一是加快取,減少資料庫壓力 二嘛,就是加伺服器了。如果產品的規模繼續迅速增長,我們應該怎麼做?靠增加伺服器肯定不...
web服務端的架構演變
此文已由作者肖凡授權網易雲社群發布。最近lofter專案碰到很多效能上的問題,特別是資料庫相關的,每次推送後,告警就會第一時間到來。這些問題隨著產品的不斷擴充套件,我想大家肯定都遇到過。目前我們解決效能問題一般都是兩種方法 一是加快取,減少資料庫壓力 二嘛,就是加伺服器了。如果產品的規模繼續迅速增長...