更新时间:2023-07-22 11:45:21
首先我们来验证一下web协议,把网络调试系统开成服务端,
然后在win系统网址输入ip地址和端口,回车
可以看到数据接收区的内容符合申请头的格式。
然后在服务端写响应报头
可以看到网页上收到了响应数据。
我们在Pycharm中写一个静态web服务器:
基本流程:
浏览器 发送数据给 服务器 ==> 请求报文格式
服务器 发送数据给 浏览器 ==> 响应报文格式
(注意点:浏览器中的图片是响应报文中的响应体)
(注意点:浏览器中的 index.html ==> 请求报文中请求行中的第一个空格后面)
import sockettcp_server_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)# 端口复用tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)# 绑定地址tcp_server_socket.bind(("",8080)) # 我们的客户端是浏览器,所以不用写了,在本地写服务器,所以ip地址就可以默认本机地址# 设置监听tcp_server_socket.listen(128)while True: # 接受链接请求 client_socket, addr = tcp_server_socket.accept() # 接受数据 recv_data = client_socket.recv(1024) if len(recv_data) == 0: print("客户端关闭了!!!") break print(recv_data.decode()) # 响应行 responce_line = "HTTP/1.1 200 OKrn" # 响应头 responce_head = "server:py1.0rn" # 响应体 responce_body = "hello~" # 响应数据 responce_data = responce_line + responce_head + "rn" +responce_body # 发送数据 client_socket.send(responce_data.encode()) client_socket.close()
运行后,在浏览器输入127.0.0.1:8080 回车,可以看到: