python http的请求和响应

"""
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
# 创建tcp套接字
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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值