OKHttp3学习之二:HTTP 协议简介

HTTP协议简介

HTTP是基于客户端请求(Request)和服务端应答(Response)的应用层面向连接的协议。

HTTP是无状态的协议,采用Cookie机制维护状态。

协议:http https

Request 消息结构

  • 请求行:请求方式、请求资源路径、HTTP协议版本
  • 请求头:标准消息头(详见附图)和自定义消息头
  • body

Response 消息结构

  • 响应行:HTTP协议版本、响应状态码、状态消息
  • 响应头:标准消息头(详见附图)和自定义消息头
  • body

请求方法

  • GET - 请求获取Request-URI所标识的资源
  • POST - 在Request-URI所标识的资源后附加新的数据
  • HEAD - 请求获取由Request-URI所标识的资源的响应消息报头
  • PUT - 请求服务器存储一个资源,并用Request-URI作为其标识
  • DELETE - 请求服务器删除Request-URI所标识的资源
  • TRACE - 请求服务器回送收到的请求信息,主要用于测试或诊断
  • CONNECT - 保留将来使用
  • OPTIONS - 请求查询服务器的性能,或者查询与资源相关的选项和需求

GET与POST的区别

  • GET使用URL或Cookie传参,而POST将数据放在body中;
  • GET的URL会有长度上的限制,则POST的数据则可以非常大;
  • POST比GET安全,因为数据在地址栏上不可见。

建议:

  1. Get方式的安全性较Post方式要差些,如果包含机密信息,建议使用Post数据提交方式;
  2. 在请求数据查询时,建议用Get方式;而在做数据添加、修改或删除时,建议用Post方式。

状态码

  • 1xx:指示信息
  • 2xx:成功
  • 3xx:重定向
  • 4xx:客户端错误
  • 5xx:服务端错误
1
2
3
4
5
6
7
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器解析
401 Unauthorized //请求未经授权,这个状态代码必须和WWWAuthenticate报头域同时使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在
500 Internal Server Error //服务器发⽣不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

POST 提交数据方式

  • (1)application/x-www-form-urlencoded:key1=val1&key2=val2
  • (2)multipart/form-data:Map键值对数据,支持文件
  • (3)application/json:JSON数据
  • (4)text/xml:XML数据

消息头附图

HTTP请求头

HTTP请求头

HTTP响应头

HTTP响应头

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :