什么是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.101-21 14:57:23.503 24662-24752/com.huolongluo.customrestaurant D/OkHttp: Content-Type: application/x-www-form-urlencoded01-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.CN01-21 14:57:23.505 24662-24752/com.huolongluo.customrestaurant D/OkHttp: Accept: application/prs.speed-plus.v1+json01-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=B8D7AF87028201-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请求方式:则可以在请求的实体内容中向服务器发送数据,其传送的数据量无限制
请求头信息
1
Accept:浏览器通知服务器,浏览器可以接受的数据类型
Accept-charset:浏览器通知服务器,浏览器支持的字符集
2.
Accept-Encoding:浏览器通知服务器,浏览器支持的压缩格式
3.
Accept-Language:浏览器通知服务器,浏览器支持的语言环境
Host:浏览器通知服务器,浏览器访问的服务器的主机名
5.
工f-Modified-since:浏览器询问服务器,浏览器本地是否修改过
6.
Referer:浏览器通知服务器,浏览器当前页来自哪个页面
7.
8.
*防盗链
user-agent:浏览器通知服务器,浏览器端的基本信息
9.
10.
cookie:
connection:浏览器保持服务器,是否保持连接状态
11.
Date:浏览器通知服务器,浏览器端的时间
12.
Http响应
如下示例:
HTTP/1.1 200 OK
server: Apache-coyote/1.1
Accept-Ranges: bytes
ETag: w/"369-1516191816137"
Last-Modified: wed,17 Jan 2018 12:23:36 GMT
content-Type: text/html
content-Length: 369
Date: wed,17 Jan 2018 12:37:43 GMT
Http响应组成
Http响应,由响应行(示例第一行),响应头,响应体组成
响应行,由响应协议(HTTP/1.1),状态码,状态信息组成
状态码:为服务器通知浏览器客户端的行为,由服务器端定义。例如:
1xx:服务器通知浏览器,服务器还没处理完成
2xx:服务器通知浏览器,服务器己经处理完成
200处理完成
3xx:服务器通知浏览器服务器还需要浏览器进一步处理
302:从htpp响应头中获取(location)进一步操作︰重定向到location的地址
304通知浏览器资源没变从缓存中取
4xx:通知浏览器发送毂据有误
401:没有权限
404:找不到资源
5xx:服务器通知浏览器服务器挂了(异常)
500:服务器异常
503:服务器未响应
分类: 网络协议
Copyright © 2010-2022 火龙IP All Rights Reserved.
粤ICP备2020131248号-3 增值电信业务经营许可证:粤B1-20210253 国内互联网虚拟专用网业务:B1-20210463