Web框架与HTTP协议
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Web框架与HTTP协议
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                實現(xiàn)多并發(fā)的web服務端
import spcketfrom threading import Threadserver=socket.socket() #實例化socket對象 server.bind(('127.0.0.1',10086)) #綁定地址及應用端口號 server.listen() #建立連接def feedback(conn):client_msg=conn.recv(1024) #接收連接請求
print(client_msg) #打印請求內容path=client_msg.split('\r\n')[0].split(' ')[1]
#獲取請求的文件if path=='/':
conn.send(b'HTTP/1.1 200 ok \r\n\r\n')
#響應 協(xié)議版本:HTTP/1.1 狀態(tài)碼:200 狀態(tài)碼的描述 回車符換行符with open('dome.html','rb')as f_html: data=f_html.read()conn.send(data)
#發(fā)送請求文件conn.close()if path=='/dome.css':
conn.send(b'HTTP/1.1 200 ok \r\n\r\n')with open('dome.css','rb')as f_css:data=f_css.read()conn,send(data)conn.close()if path =='/dome.js':
conn.send(b'HTTP/1.1 200 ok \r\n\r\n')with open('dome.js','rb')as f_js:data=f_js.read()conn.send(data)conn.close()if path=='/background.jpg':
conn.send(b'HTTP/1.1 200 ok \r\n\r\n')with open('background.jpg','rb')as f_bg:data=f_bg.read()conn.send(data)conn.close()if path=='/favicon.ico':
conn.send(b'HTTP/1.1 200 ok \r\n\r\n')with open('favicon.ico','rb')as f_ico:data=f_ico.read()conn.send()conn.close()while True:conn,addr=server.accept()
#獲取連接t=Thread(target=fun,args=(conn,))
#設置線程t.start()
#開啟線程
?
HTTP協(xié)議
http協(xié)議使超文本傳輸協(xié)議,位于osi七層的應用層,協(xié)議規(guī)定的就是請求與響應雙方的一個消息格式,請求(請求行,請求頭,空行 請求數(shù)據(jù))
HTTP請求格式
請求方法 空格 URL(即請求文件路徑) 空格 協(xié)議版本 回車符 換行符 ?? ps:(請求行)
頭部字段名 冒號 值 回車符 換行符 ? ps:(請求頭部 可能會有多行)
回車符 換行符
請求數(shù)據(jù)
?
HTTP響應格式
協(xié)議版本 空格 狀態(tài)碼 空格 狀態(tài)碼描述 回車符 換行符 ps:(狀態(tài)行)
頭部字段名 冒號 值 回車符 換行符? ps:(響應頭部 可能會多行)
回車符 換行符
響應正文(.htm .css .js等)
?
請求方法:get post put delete patch options connect gead
狀態(tài)碼:1xx 待處理
? 2xx 成功
? 3xx 待跳轉
? 4xx 語法錯誤
? ?? 5xx 服務器錯誤
?
轉載于:https://www.cnblogs.com/lttlpp61007188/p/10871609.html
總結
以上是生活随笔為你收集整理的Web框架与HTTP协议的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: [多线程] Thread
- 下一篇: http dns djang
