簡易的Http伺服器

2021-08-21 09:29:26 字數 1170 閱讀 2868

該程式主要實現http伺服器最原始的響應功能,運用tcp套接字,使用單程序技術,只能在某一時間內處理乙個客戶端的請求。

對於客戶端瀏覽器的請求做出兩種可能的處理,一種是網頁存在時傳送該網頁給客戶端,不存在時傳送404請求失敗警告,該程式是http伺服器的1.0版本,後續還會發實現更多功能的更高版本。

from socket import *

#處理客戶請求,返回響應

def handleclient(connfd):

request = connfd.recv(4096)

requestheadlers = request.splitlines()

for line in requestheadlers:

print(line)

try:

f = open('index.html','r')

except ioerror:

#開啟檔案失敗,說明網頁不存在,傳送404

response += '====網頁沒有找到===='

#基礎配置,功能函式的呼叫

def main():

sockfd = socket()

sockfd.setsockopt(sol_socket,so_reuseaddr,1)

sockfd.bind(('0.0.0.0',8000))

sockfd.listen(10)

while true:

print('listen to the port 8000......')

connfd,addr = sockfd.accept()

#處理請求

handleclient(connfd)

connfd.close()

if __name__ == '__main__':

main()

C實現的 簡易的http伺服器

設定位址復用 ret setsockpot server fd,sol socket,so reuseaddr,on,sizeof on if ret 0 memset server addr,0,sizeof server addr 設定埠,ip,和tcp ip協議族 server addr.si...

50行實現簡易HTTP伺服器

話說由於一直很懶,所以部落格好像也沒怎麼更新。今天有空就寫一下吧。最近在看node.js的時候開始對http協議感興趣了,畢竟node一開始就是為了做web伺服器而產生的。於是試著想了一下大概的思路,基本上就是用socket建立連線,監聽埠,然後將請求 到我的伺服器,最後輸出響應就好了。今天上午花了...

簡易web伺服器

1.設定伺服器端口號,獲取伺服器ip位址。2.建立伺服器監聽socket socket 3.連線伺服器socket和埠號 bind 4.讓伺服器socket處於監聽狀態 listen 5.在迴圈中呼叫accept 獲取客戶端連線的socket。accept 預設阻塞,直到有客戶端連線後返回連線套接字...