HTTP基础

HTTP请求报文格式

HTTP 的请求报文分为三个部分 请求行(Request Line)、请求头(Request Header)和请求体(Request Body)。请求体是HTTP请求的核心,其中包含了需要上传服务器的数据。常见的请求体数据类型有表单数据(form-data)、JSON数据、XML数据等。

下图是一个http请求,1、2、3组成请求行,4为请求头,5为请求体

请求方法

HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,最常的两种GET和POST

请求体的格式

请求体的格式可以是多种类型,但最常见的有表单数据、JSON数据和XML数据三种格式。

表单数据格式

  • 请求头:Content-Type: application/x-www-form-urlencoded
  • 数据格式:key=value&key1=value,如username=tom&pwd=123
  • 使用场景:
    POST的默认Content-Type,GET请求时也会用到这个数据格式,不过他是在URL中用?链接。如http://xxxx?username=tom&pwd=123

JSON数据格式

  • 请求头:Content-Type: application/json
  • 数据格式:{"username":"tom","pad"="123"}

XML数据格式

  • 请求头:Content-Type: application/xml
  • 数据格式:
xml 复制代码
<person>
    <name>张三</name>
    <age>18</age>
    <hobbies>
        <hobby>足球</hobby>
    </hobbies>
</person>
相关推荐
方方怪1 小时前
与IP网络规划相关的知识点
服务器·网络·tcp/ip
weixin_442643422 小时前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
阑梦清川2 小时前
JavaEE初阶---网络原理(五)---HTTP协议
网络·http·java-ee
阿尔帕兹3 小时前
构建 HTTP 服务端与 Docker 镜像:从开发到测试
网络协议·http·docker
FeelTouch Labs3 小时前
Netty实现WebSocket Server是否开启压缩深度分析
网络·websocket·网络协议
千天夜5 小时前
使用UDP协议传输视频流!(分片、缓存)
python·网络协议·udp·视频流
长弓三石5 小时前
鸿蒙网络编程系列44-仓颉版HttpRequest上传文件示例
前端·网络·华为·harmonyos·鸿蒙
xianwu5435 小时前
反向代理模块
linux·开发语言·网络·git
follycat5 小时前
[极客大挑战 2019]HTTP 1
网络·网络协议·http·网络安全
earthzhang20216 小时前
《深入浅出HTTPS》读书笔记(5):随机数
网络协议·http·https