Http方法及常见状态码
Http方法介绍及常见状态码
方法
GET
用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器
从指定的资源请求数据
POST
用于传输信息给服务器,主要更能与POST相似,一般推荐POST
向指定的资源提交要被处理的数据 用于提交请求,可以更新或者创建资源,是非幂等的
PUT
传输文件,报文主体中包含文件内容,保存到对应URI位置
用于向指定的URI传送更新资源,是幂等的
HEAD
获取报文头部,与GET类似,只是不返回主体,一般用于验证URL是否有效
DELETE
删除文件,与PUT方法相反,删除对应URI位置的文件
OPITONS
查询对应URI支持的HTTP方法
GET与POST区别
- GET主要从服务器获取资源,POST主要是向服务器发送数据
- GET传输数据主要通过URL,通过?连接,以key=value的形式,并以%拼接.这个过程用户是可见的.POST是将key-value封存在请求实体中,发送给服务器,这个过程是不可见的.
- GET传输量小,受URL长度限制,但效率高.POST可以传输大量数据,上传文件用POST
- GET非安全,因为URL是可见的.可能会泄露信息
- GET只能支持ASCII字符,可能会乱码.POST支持标准字符集
POST和PUT区别
幂等是数学的一个用语,对于单个输入或者无输入的运算方法,如果每次都是同样的结果,则称其是幂等的
- POST不是幂等的
- 比如更新某个blog文章,因为该文章具有单一的具体URI,所以每次更新提交相同的内容,结果都一致,用PUT
- 一个接口的功能是将当前余额减一个值,每次提交指定该值为100,调用一次,你的余额-100,调用两次,余额-200,用POST
报文格式
请求报文
- 请求行:包含请求方法、URI,HTTP版本信息
- 请求首部字段
- 请求内容实体
响应报文
- 状态行:状态码,状态码原因短语,HTTP版本信息
- 响应头部字段
- 响应内容实体
常见状态码
1xx–>临时响应
2xx–>成功
200:请求被正常处理
204:请求被受理,但没有资源返回
206:客户端只是请求资源的一部分,服务器只对请求的部分资源执行GET方法,相应报文中通过Content-Range指定范围的资源。(例如断点,多线程下载)Content-Range:bytes 0-1048575/2027665
3xx->重定向 301:永久重定向 302:临时重定向(尽量不用,防止网址劫持
从网站A(网站比较烂)上做了一个302跳转到网站B(搜索排名很靠前),这时候有时搜索引擎会使用网站B的内容,但却收录了网站A的地址,这样在不知不觉间,网站B在为网站A作贡献,网站A的排名就靠前了
303:与302状态码有相似功能,只是它希望客户端在请求一个URI的时候,能通过GET方法重定向到另一个URI上 304:发送附带条件的请求时,条件不满足时返回,与重定向无关 307:临时重定向,与302类似,只是强制要求使用POST方法
4xx–>请求错误 400:请求报文语法有误,服务器无法识别 401:请求需要认证 403:请求的对应资源禁止被访问 404:服务器无法找到对应资源
5xx–>服务器错误 500:服务器内部错误 503:服务器正忙

微信支付

支付宝