Http方法及常见状态码

Http方法介绍及常见状态码

方法

GET

用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器

从指定的资源请求数据

POST

用于传输信息给服务器,主要更能与POST相似,一般推荐POST

向指定的资源提交要被处理的数据 用于提交请求,可以更新或者创建资源,是非幂等的

PUT

传输文件,报文主体中包含文件内容,保存到对应URI位置

用于向指定的URI传送更新资源,是幂等的

获取报文头部,与GET类似,只是不返回主体,一般用于验证URL是否有效

DELETE

删除文件,与PUT方法相反,删除对应URI位置的文件

OPITONS

查询对应URI支持的HTTP方法


GET与POST区别

  1. GET主要从服务器获取资源,POST主要是向服务器发送数据
  2. GET传输数据主要通过URL,通过?连接,以key=value的形式,并以%拼接.这个过程用户是可见的.POST是将key-value封存在请求实体中,发送给服务器,这个过程是不可见的.
  3. GET传输量小,受URL长度限制,但效率高.POST可以传输大量数据,上传文件用POST
  4. GET非安全,因为URL是可见的.可能会泄露信息
  5. GET只能支持ASCII字符,可能会乱码.POST支持标准字符集

POST和PUT区别

幂等是数学的一个用语,对于单个输入或者无输入的运算方法,如果每次都是同样的结果,则称其是幂等的

  1. POST不是幂等的
  2. 比如更新某个blog文章,因为该文章具有单一的具体URI,所以每次更新提交相同的内容,结果都一致,用PUT
  3. 一个接口的功能是将当前余额减一个值,每次提交指定该值为100,调用一次,你的余额-100,调用两次,余额-200,用POST

报文格式

请求报文

  1. 请求行:包含请求方法、URI,HTTP版本信息
  2. 请求首部字段
  3. 请求内容实体

响应报文

  1. 状态行:状态码,状态码原因短语,HTTP版本信息
  2. 响应头部字段
  3. 响应内容实体

常见状态码

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:服务器正忙

赞 赏
真诚赞赏 手有余香
用微信请张岩喝杯咖啡?

微信支付

用支付宝请张岩喝杯咖啡?

支付宝