目录 1.HTTP分析 2.简单服务器 关于作者 @ 1.HTTP分析 当你去访问一个网址的时候,浏览器会发送而各种头信息给服务器 然后服务器根据信息,返回一定数据的格式 最简单的就是下面的代
目录
- 1.HTTP分析
- 2.简单服务器
- 关于作者
@
1.HTTP分析
当你去访问一个网址的时候,浏览器会发送而各种头信息给服务器
然后服务器根据信息,返回一定数据的格式
最简单的就是下面的代码
自己构造返回数据的时候,头信息一定放在前面
当出现空格的时候,下一行就是返回的超文本HTML
HTTP/1.1 200 OK <!Doctype html>....
2.简单服务器
from socket import * import sys def main(): if len(sys.argv) != 2: print("可以按照如下方式运行:python3 xxx.py 7890") port = 7890 else: # 运行方式为python3 xxx.py 7890 port = int(sys.argv[1]) # 创建socket tcp_server_socket = socket(AF_INET, SOCK_STREAM) # 本地信息 address = ('', port) # 绑定本地信息 tcp_server_socket.bind(address) # 将主动套接字变为被动套接字 tcp_server_socket.listen(128) while True: # 等待客户端的链接,即为这个客户端发送文件 client_socket, clientAddr = tcp_server_socket.accept() # 接收对方发送过来的数据 recv_data = client_socket.recv(1024) # 接收1024个字节 print(recv_data) with open(r"F:\Work\Python-Work\python学习8-7重跑\3.web服务器\http\baidu.html","rb") as e: str_ = e.read() client_socket.send(str_) # 关闭监听套接字 tcp_server_socket.close() if __name__ == "__main__": main()
说明
创建一个socket对象,配置ip和host等
然后监听,给个循环一直监听
如果有客户访问,就把客户socket对象赋值给client_socket
通过client_socket发送响应信息
其中.html中要包含头部信息
打开浏览器访问,加载出页面说明没问题
关于作者
个人博客网站
个人GitHub地址
个人公众号: