1,关于http协议:
1.浏览器往服务器发的叫 请求(request)
请求的消息格式
请求方法 路径 HTTP/1.1 \r\n
k1:v1\r\n
k2:v2\r\n
\r\n
请求数据
2.服务器往浏览器发的叫 响应(response)
响应的消息格式:
HTTP/1.1 状态码 状态描述符\r\n
k1:v1\r\n
k2:v2\r\n
\r\n
响应正文 <--html的内容
2,不完善的web服务器示例
''' 不完善的web服务的示例 ''' import socket # 生成soket 实例对象 sk = socket.socket() # 绑定 ip 和 端口 sk.bind(('127.0.0.1',8002)) # 监听 sk.listen() #写1个死循环,一直等待客户端来连接 while 1: # 获取与客户端的连接 conn , _ =sk.accept() # 接收客户端发来的消息 data = conn.recv(8096) print(data) # 给客户端回复消息 conn.send(b'http/1.1 200 ok\r\nContent-Type: text/html;charset-type:utf-8\r\n') # 想让浏览器在页面上面显示出来的内容 conn.send(b'<p>hello world</p>') #关闭 conn.close() sk.close()
浏览器访问测试:http://127.0.0.1:8002