Http协议
什么是http协议?
- 客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通讯的格式。(相当于现实生活中的交流语言)
Http简介
- Http是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的格式。
- HTTP协议的版本:HTTP/1.0、HTTP/1.1
HTTP/1.0:客户端和服务器建立连接后,只能获得一个web资源
HTTP/1.1:客户端和服务器端建立连接后,能获得多个web资源
交流方式
- 客户端请求---->服务器响应
什么是Http请求?
- 客户端向某个服务器连接后,向服务器请求某个web资源,称之为客户端向服务器发送了一个http请求。
如下示例:
01-21 14:57:23.503 24662-24752/com.huolongluo.customrestaurant D/OkHttp: --> POST http://42.72.183.98:8082/staff/v2/auth http/1.1 01-21 14:57:23.503 24662-24752/com.huolongluo.customrestaurant D/OkHttp: Content-Type: application/x-www-form-urlencoded 01-21 14:57:23.504 24662-24752/com.huolongluo.customrestaurant D/OkHttp: Content-Length: 31 01-21 14:57:23.504 24662-24752/com.huolongluo.customrestaurant D/OkHttp: Accept-Language: zh.CN 01-21 14:57:23.505 24662-24752/com.huolongluo.customrestaurant D/OkHttp: Accept: application/prs.speed-plus.v1+json 01-21 14:57:23.505 24662-24752/com.huolongluo.customrestaurant D/OkHttp: Authorization: 01-21 14:57:23.505 24662-24752/com.huolongluo.customrestaurant D/OkHttp: password=123456&sn=B8D7AF870282 01-21 14:57:23.506 24662-24752/com.huolongluo.customrestaurant D/OkHttp: --> END POST (31-byte body)
这里通过OKHttp请求服务器的一个请求头信息。第一行,由“请求方式”+请求的资源名称+Http协议版本号组成。
Http请求组成
- Http请求,由请求行(示例第一行),请求头,请求体组成
- 请求行,由请求方式,请求的资源名称,以及Http协议版本组成
- 请求方式有:POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT
POST、GET请求
- GET:URL地址后,以?的形式带上交给服务器的数据,多个数据之间以&进行分割
- POST:参数放在请求体中
- GET请求方式的特点:在URL后附带的参数是有限制的,其数据容量通常不能超过1K
- POST请求方式:则可以在请求的实体内容中向服务器发送数据,其传送的数据量无限制
请求头信息
Http响应
如下示例:
Http响应组成
- Http响应,由响应行(示例第一行),响应头,响应体组成
- 响应行,由响应协议(HTTP/1.1),状态码,状态信息组成
- 状态码:为服务器通知浏览器客户端的行为,由服务器端定义。例如: