'''從瀏覽器解析資源路徑'''
# 獲取請求行
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位址 ...