迷你web服務端

2021-09-09 07:58:37 字數 1646 閱讀 8117

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專案碰到很多效能上的問題,特別是資料庫相關的,每次推送後,告警就會第一時間到來。這些問題隨著產品的不斷擴充套件,我想大家肯定都遇到過。目前我們解決效能問題一般都是兩種方法 一是加快取,減少資料庫壓力 二嘛,就是加伺服器了。如果產品的規模繼續迅速增長...