一个HTTP请求报文,有请求行request line、请求头部header、空行和请求数据组成。看下图可知:
1、请求行
请求行:请求方法、请求地址和协议版本。
请求方法
HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。
最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。
谓词:对于RestFul API来说谓词是非常重要的一个元素,WEB API就是使用谓词作为默认的路由方式,最常用的谓词有:POST\DELETE\PUT\GET,
这四个谓词对应了“增、删、改、查”四个动作(POST和PUT谁是增谁是改不同资料总有不同的说法,我其实有略微有点困惑啦……有定义说PUT是幂等操作,而POST不是,那PUT就更偏重于改而POST更偏重于增)。
请求地址
URL:统一资源定位符,是一种自愿位置的抽象唯一识别方法。
组成:< 协议> : //<主机> : <端口>/<路径>
端口和路径有时会省略(http默认端口是80)
协议protocol 主机host 路径path 参数query string
协议版本
协议版本的格式: HTTP/主版本号.次版本号,常用的有HTTP/1.0 HTTP/1.1
2、请求头部
请求头部为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。
常见请求头部如下
请求头部的最后会有一个空行,表示请求头部结束,接下来为请求数据,这一行非常重要, 必不可少。
3、请求数据
可选部分,比如GET请求没有请求数据。
例如POST请求: