1.概念
Http协议(Hyper Text Transfer Protocol) 即超文本传输协议,是web联网的基础,也是手机联网常用的协议之一。Http协议是建立在TCP协议上的一种应用,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。默认端口是80
最显著的特点是,客户端每次发送请求都需要服务器回送响应,在请求结束后,会释放链接。Http协议就是所谓的短链接,即客户端向服务器发送一个请求,服务器端响应后,会断掉。
2.HTTP请求方式
1) get:获取服务端数据(常用)
2) post:向服务端提交数据(常用)
3) put(全部修改)/patch(局部修改):修改服务端的数据
put请求提交数据:{"hasUserPickUp": false, "hasShopDelivery": false}
patch请求提交数据:{"hasShopDelivery": false}
4) delete:删除服务端数据
5) head:查看响应头
6) options:查看支持的请求发方式
7) trace:查询自己的请求数据
8) connect:预留方法,代购,代替你去访问某个接口,讲接口返回数据也一起给你
3. 请求头字段含义
1) Host: openapiv52.ketangpai.com:请求发送服务器的域名地址。
2) Connection: keep-alive:事务完成后是否关闭连接,keep-alive 保持连接,close 是关闭连接。
3) Content-Length: 133:请正文内容长度。
4) sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99":安全相关,代替 user-agent 的功能,目的是防止 user-agent 信息泄露。
5) Accept: application/json, text/plain, /:浏览器能处理的类容类型,服务器会选一种类型,通过响应头信息的 Content-Type 字段告诉浏览器,服务器选的是哪种类型。
6) Content-Type: application/json:请求正文的编码格式
7) sec-ch-ua-mobile: ?0:安全相关, 是否是移动设备
8) User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36:用户代理信息,告诉服务器是谁在发请求。
9) sec-ch-ua-platform: "Windows":用户代理站点
10) Origin: https://www.ketangpai.com:请求站点的服务器名称
11) Sec-Fetch-Site: same-site:安全相关,获取数据站点规则
12) Sec-Fetch-Mode: CORS:安全相关,获取数据方式
13) Sec-Fetch-Dest: empty:安全相关,如何使用获取的数据
14) Referer: https://www.ketangpai.com/:请求页面的地址
15) Accept-Encoding: gzip, deflate, br:浏览器支持的编码格式,一般是压缩算法
16) Accept-Language: zh-CN,zh;q=0.9:浏览器可以处理的语言,这里是中文
4.响应状态码
1xx:服务器已经收到了请求,需要客户端继续操作
1) 100:客户端应该继续请求
2) 101:切换到更高级的协议
2xx:HTTP成功状态码
1) 200:请求成功,一般用于get,和post
2) 201: 请求已经成功,并创建了新的资源
3) 202:请求已经接受,但未处理完成
4) 204:服务器处理成功,但是并未返回内容
5) 206:服务器成功处理了部分请求,get请求,常用与资源下载
3xx:资源重定向
1) 301:请求资源被永久移动到新的url,返回替代该资源的url,浏览器会自动重定向到新的url
2) 302:临时移除,301是永久移除,资源只是临时移动到新的url,客户端继续使用原有的url
3) 303:查看该资源的其他地址
4) 304:请求的资源未修改,此时服务器不会返回任何资源,客户端将使用本地缓存资源
5) 305:请求的资源必须通过代理访问
6) 307:临时重定向,与302类似
4xx:客户端错误
1) 401:请求需要用户的身份认证
2) 402:保留状态码,并未使用
3) 403:服务器已经收到了客户端的请求,但是拒绝执行这个请求
4) 404:服务器无法找到客户端需要访问的资源
5) 407:请求需要代理进行身份认证,与401类似
6) 408:服务器等待客户端发送的请求时间过长,超时
5xx:服务端错误
1) 500:服务器内部错误,无法完成请求
2) 501:服务器不支持请求的功能,无法完成请求
3) 502:网关或者是代理服务器执行请求的时候,收到了一个无效的响应
4) 503:服务器故障,暂时无法处理客户端的请求
5) 504:网关或者是服务器代理,无法从远处服务器获取请求
6) 505:服务器不支持请求的HTTP协议的版本,无法处理请求