Python學習之路—2018/6/14
阿新 • • 發佈:2018-06-14
使用 響應 瀏覽器 con 限制 end F12 spa TP
get與post區別
Python學習之路—2018/6/14
1.瀏覽器與服務器
瀏覽器向服務器發送請求的過程為請求過程,服務器向瀏覽器響應的過程為響應過程。
2.簡單的web應用程序
import socket
sock = socket.socket()
sock.bind(("100.113.14.43", 8080))
sock.listen(5)
with open("index.html", "r") as f: # 先將樣式寫入html文件中,然後再讀取發送給瀏覽器
content = f.read()
while True:
print("server starting...")
conn, addr = sock.accept()
data = conn.recv(1024)
print("data:", data)
conn.send(("HTTP/1.1 200 OK\r\n\r\n%s" % content).encode("utf8")) # http協議格式
conn.close()
sock.close()
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Hello World</h1>
<img src="https://gss3.bdstatic.com/-Po3dSag_xI4khGkpoWK1HF6hhy/baike/c0%3Dbaike150%2C5%2C5%2C150%2C50/sign=a102dc900f24ab18f41be96554938da8/8b82b9014a90f60380e9a5f13f12b31bb051ed2f.jpg">
</body>
</html>
接下來用瀏覽器訪問100.113.14.43:8080
3.請求協議
請求格式
get與post區別
- get主要用於獲取數據庫數據,當對數據庫數據進行更新時使用post
- get無請求體,提交的數據放入url後面,通過?分隔,參數之間通過&連接,例如100.113.14.43:8080/gyq?name=gyq&age=22;post提交的數據存放在請求體中
由於url長度有限,所以get提交的數據大小有限制;post提交數據大小沒有限制
響應協議?
響應格式
響應狀態碼
類型 | 原因 | |
---|---|---|
1XX | Information(信息) | 請求正在處理 |
2XX | Success(成功) | 請求處理完畢 |
3XX | Redirection(重定向) | 需要進行附加操作以完成請求 |
4XX | Client Error(客戶端錯誤) | 服務器無法處理請求 |
5XX | Server Error(服務器錯誤) | 服務器處理請求錯誤 |
from wsgiref.simple_server import make_server
def appliaction(environ, start_response):
# environ:按照http協議解析數據
# strat_response:按照http協議組裝數據
path = environ.get("PATH_INFO")
start_response("200 OK", [])
with open("index.html", "rb") as f:
data1 = f.read()
with open("login.html", "rb") as f:
data2 = f.read()
if path == "/index":
return [data1]
elif path == "/login":
return [data2]
else:
return [b"<h1>哈哈哈</h1>"]
httpd = make_server("", 8090, appliaction)
print("server starting..")
# 開始監聽
httpd.serve_forever()
Python學習之路—2018/6/14