"""
http请求(请求行和空行是必须要有的,请求体和请求头可以没有)
请求格式:请求行,请求头,空行,请求体
1.请求行:具体请求类别和请求内容
GET / HTTP/1.1
请求类别 请求内容 协议版本
请求类别表示要做不同的事
GET:获取网络资源
POST:提交一定的信息,得到反馈
HEAD:只获取网络资源的响应头
PUT:更新服务器资源
DELETE:删除服务器资源
CONNECT:
TRACE:测试
OPTIONS:获取服务器性能信息
2.请求头:对请求的进一步解释和描述(键值对表示,每个键值对表示一个描述,也表示一行)
Accept-Encoding:gzip 请求获取一个编码是gzip
3.空行
4.请求体:请求的参数或者提交内容
"""
from socket import *
soc = socket(AF_INET, SOCK_STREAM)
soc.bind(('127.0.0.1', 8080))
soc.listen(2)
csoc, addr = soc.accept()
print("connect from", addr)
buffer_byte = csoc.recv(1024)
print(buffer_byte.decode())
csoc.close()
soc.close()
"""=============================================================="""
"""
http(response)响应
响应格式:响应行,响应头,空行,响应体
1.响应行:反馈最基本的情况
HTTP/1.1 200 OK
版本信息 响应码 附加信息
响应码:
1xx 提示信息。表示请求被接收
2xx 响应成功
3xx 响应需要进一步操作,重定向
4xx 客户端错误
5xx 服务器错误
2.响应头:对响应信息的描述(数据是什么格式,那个服务器给你的,什么时候给你的)
Content-Type:text/html
3.空行
4.响应体:响应的主题内容信息
"""
import socket
soc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_addr = ('127.0.0.1', 9091)
soc.bind(server_addr)
soc.listen(5)
client, caddr = soc.accept()
buffer_byte = client.recv(1024)
print(buffer_byte)
response = """HTTP/1.1 200 OK
Content-Type:text/html
Hello World
"""
num = client.send(response.encode())
soc.close()
client.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)