HTTP伺服器返回web瀏覽器指定檔案版

2021-08-20 05:01:25 字數 1833 閱讀 1218

'''從瀏覽器解析資源路徑'''

# 獲取請求行

head_list = re.split(r'\r\n', request)

print(head_list)

request_line = head_list[0]

# 獲取請求資源路徑

datas = re.split(r' ', request_line)

print(datas)

# 對路徑的安全檢查

path = datas[1]

if path == '/':

path = '/index.html'

return path

def handel_cli(cli_soc):

'''處理乙個客戶端請求'''

# 獲取請求頭

recv_data = cli_soc.recv(1024*4)

print(recv_data)

# 獲取使用者請求資源路徑

# 讀取檔案內容

with open('html' + path, 'rb') as file:

file_content = file.read()

# 返回響應資料

# 讀取 404 檔案內容

with open('html/404.html', 'rb') as file:

file_content = file.read()

# 處理響應資料

# 關閉客戶端套接字

cli_soc.close()

def main():

'''開發響應瀏覽器的web伺服器'''

# 初始化伺服器套接字

serv_soc = socket.socket(socket.af_inet, socket.sock_stream)

# 設定套接字復用位址

serv_soc.setsockopt(socket.sol_socket, socket.so_reuseaddr, 1)

serv_soc.bind(('', 1314))

serv_soc.listen(128)

while true:

# 獲取客戶端連線

cli_soc, cli_addr = serv_soc.accept()

# 為乙個客戶端提供服務

handel_cli(cli_soc)

# 關閉伺服器套接字

serv_soc.close()

if __name__ == '__main__':

main()

WEB 伺服器 與 瀏覽器

http協議通訊,是連線瀏覽器和伺服器的橋梁。兩者之間的資訊流,使它們真正的活力。這中間,瀏覽器連著使用者 伺服器連著資料庫 等其他的服務。伺服器能提供給瀏覽器,什麼樣的資訊呢?這些資訊,遵循著http通訊的格式。也許,瀏覽器只是 的乙個視窗,通過使用瀏覽器我們訪問 而真正的 技術,卻被掩蓋掉了。技...

瀏覽器與伺服器

瀏覽器是安裝在電腦裡面的乙個軟體,能夠將頁面內容渲染出來呈現給使用者檢視,並讓使用者與網頁互動的一種軟體。常見主流瀏覽器 internet explorer,chrome,firefox,safari,opera 瀏覽器核心 瀏覽器所採用的渲染引擎。渲染引擎決定了瀏覽器如何顯示網頁的內容,以及網頁格...

訪問伺服器 瀏覽器訪問Web伺服器全過程

我們輸入 後,一條資訊從客戶端發出 通過一系列路徑到達要訪問的服務端,告訴服務端我們需要什麼資料 然後服務端將這些資料傳送出來,經過網際網路,到達客戶端 最後將這些資訊顯示在螢幕上。以上資訊看起來比較簡單,但實際上需要的資訊有很多,比如 如果我們想準確獲取 的資料,我們應該至少知道自己的mac位址 ...