HTTP协议基本格式

HTTP协议格式

请求格式:

首行(请求行):请求方法 URL 协议版本 /r/n;

请求方法

POST:主要用于向服务器提交数据,数据放在正文之中

GET:主要用于从服务器获取实体资源,也可以提交数据,但是数据放在了URL当中(但是会导致头部过大);

HEAD:与GET类似,但是响应中不要实体数据只要头部

URL

统一资源定位符(网址);

定位网络中的某个主机上的某个资源,并且定义如何请求

URL格式:

http://user:pass@ip:port/path?query_string#id

http:协议方案名称;

user:pass:用户名和密码;

www.baidu.com:域名—服务器别名—便于记忆的字符串;

port:端口—如果不指定的话HTTP协议默认使用80端口;

/path:资源路径(相对根目录而不是绝对根目录);

query_string:查询字符串,由key=val&key=val形式的键值对组成,是客户端提交给服务器的数据,特殊字符需要URL编码与解码;

#id:片段标识符,是超文本数据中的一个标签id;

头部字段:是一个个键值对;

请求头部,正文头部,响应头部,通用头部

根据头部字段中的Referer来记录当前请求的来源链接(只能在请求头部);

根据头部字段中的Content_Length确定正文长度以此来解决粘包问题;

根据头部字段中的Connection来控制长短连接;

根据头部字段中的Content_Type来描述正文编码类型;

根据头部字段中的User—Agent来记录客户端的系统及浏览器版本(只能在请求头部);

根据头部字段中的Cookie来实现cookie机制(只能在请求头部);

空行:/r/n ,是头部与正文之间的间隔;

正文:提交给服务器的数据;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTTP协议是一种应用层协议,用于在Web浏览器和Web服务器之间传输数据。而Protocol Buffer(PB)是一种轻便高效的数据交换格式,通常用于数据序列化和反序列化。PB可以用于各种语言和平台,并且可以在不同的应用程序之间进行数据交换。在HTTP协议中,PB可以用作数据格式,以便在客户端和服务器之间传输数据。 PB协议的基本使用和格式定义可以参考引用中的内容。在HTTP协议中,PB通常用作请求和响应的数据格式。客户端代码可以使用HTTP库(如Python中的requests库)向服务器发送请求,并将PB格式的数据作为请求体发送。服务器可以解析请求体中的PB数据,并使用PB格式的数据作为响应体返回给客户端。 以下是一个使用Python的requests库向服务器发送PB格式数据的示例代码: ```python import requests import addressbook_pb2 # 创建一个Person对象 person = addressbook_pb2.Person() person.id = 1234 person.name = "John Doe" person.email = "[email protected]" phone = person.phones.add() phone.number = "555-4321" phone.type = addressbook_pb2.Person.HOME # 将Person对象序列化为二进制数据 data = person.SerializeToString() # 发送POST请求,将PB格式数据作为请求体发送 response = requests.post('http://example.com/api/person', data=data) # 解析响应体中的PB格式数据 person2 = addressbook_pb2.Person() person2.ParseFromString(response.content) print(person2.name) # 输出:John Doe ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值