Http协议的格式及实例

本文详细解析Http协议,包括Request和Response的结构,重点讲解Get和Post请求,User-agent键值对以及Cookie的使用。Http是无状态协议,基于TCP,常见方法有Get、Post等。Request由请求行、请求头和请求体组成,Response包含状态行、响应头和响应体。User-agent记录客户端信息,Cookie用于标识用户。
摘要由CSDN通过智能技术生成

协议

Http协议位于网络五层结构的最上层应用层。它建立在TCP协议之上,是个无状态的协议,典型的应用是网络浏览器以及移动端数据传输。本文将介绍Http请求的格式,并对请求数据的各部分做一个详细介绍。

处于不同层次的网络协议

Http协议包括多个方法:Get,Post,Put,Delete,Head,Patch,Options等。我们重点关注最常用的Get和Post请求。

一次请求包括两个过程,Request过程和Response过程,Request过程发出数据请求,携带请求的各项参数,Response过程返回请求的数据。

Http Request

Http Request包括三部分:请求行,请求头和请求体。

第一行是请求行,格式是:方法+路径+Http版本,以空格分隔。从第二行开始是请求头,由若干个键值对构成,每个键值对一行。请求头结束后空一行,接着是请求体。

POST请求的参数放在请求体里,GET请求没有请求体,请求的参数以键值对的形式存放在path里面。请求头里的键值对包括预定义键值对和自定义键值对,键值对内容包括请求的Host,User-agent,编码方式,请求体的类型,请求体的长度,分隔符等等信息,大部分都是可选的,我们也可以随意添加自定义的键值对来满足某些需求。下面是一个Post请求的实例:

Post Request实例

Http Response

Http Response也包括三部分:响应状态行,响应头和响应体。

第一行是响应状态行包括Http版本+响应状态,以空格分隔。从第二行开始是响应头,包含若干个键值对,每个键值对占一行。后面空一行,接着是响应体。

Http Response实例

请求体可以包括多个part,通过header里面的分隔符分隔,比如音频上传时利用请求体里两个part分布存储文件类型和音频数据。

含多个part的Request Body

User-agent键值对

Http Request Header里有个user-agent字段,是用来存放发起请求的客户端或者浏览器的标识信息的,比如浏览器的名称版本,操作系统的名称版本,客户端的名称版本等。

浏览器的user-agent:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值