HTTP请求方法
超文本传输协议(HyperText Transfer Protocol -- HTTP)是一个设计来使客户端和服务器顺利进行通讯的协议。
HTTP在客户端和服务器之间以
request response(请求-回复协议)进行工作
操作方法
- 01
http的请求方法可以分成以下几种:: 请求指定的页面信息,并返回实体主体 (在检索数据(包括调用函数)时使用。 确保成功检索的状态代码为 200 ): 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体 (在创建实体或调用操作时使用) PATCH: 实体中包含一个表,表中说明与该URI所表示的原内容的区别 (在更新实体或执行 upsert 操作时使用) DELETE: 请求服务器删除指定的页面 (在删除实体或实体的各个属性时使用) PUT: 从客户端向服务器传送的数据取代指定的文档的内容 (在某些情况下用于更新实体的各个属性;更新大多数实体则不建议使用) 以下方法 不常用,仅供了解: OPTIONS: 允许客户端查看服务器的性能。 TRACE: 请求服务器在响应中的实体主体部分返回所得到的内容。 HEAD: 只请求页面的首部 MOVE: 请求服务器将指定的页面移至另一个网络地址。 COPY: 请求服务器将指定的页面拷贝至另一个网络地址。 LINK: 请求服务器建立链接关系。 UNLINK: 断开链接关系。 WRAPPED: 允许客户端发送经过封装的请求。 Extension-mothed:在不改动协议的前提下,可增加另外的方法。
- 02
下面主要介绍最常用的两种方法 GET与 POST: GET - 从指定的服务器中获取数据 POST - 提交数据给指定的服务器处理
- 03
GET: 此种请求能够被缓存(即用户点击刷新后对页面没有影响) 请求会保存在浏览器的浏览记录中 这种方式请求的URL能够保存为浏览器书签 请求 有长度限制 主要用以 获取数据,只允许ASCII码类型数据
- 04
POST: 请求不能被缓存下来(用户刷新后需要重新提交) 请求不会保存在浏览器浏览记录中 请求的URL无法保存为浏览器书签 请求 没有长度限制,允许 二进制数据
- 05
python代码举例: from flask import Flaskfrom flask import request app=Flask(__name__) @app.route("/",methods=['GET']) #'/'是路由,method默认为get@app.route("/index",methods=['POST'])def home(): return '<h1>hello world</h1>' @app.route("/login",methods=['GET'])def loginform(): return """ <form action='/login' method='post'> <p><input name='username'></p> <p><input name='pwd' type='password'></p> <p><button type='submit'>sign in</p> </form> """
附录
- 01
请求返回状态码: 200OK 当您的操作将在响应正文中返回数据时,出现此结果。 204No Content 当您的操作成功,但不在响应正文中返回数据时,出现此结果。 304Not Modified(重定向) 当测试实体自上次检索以来是否被修改时,出现此结果。 403Forbidden 客户端错误 401Unauthorized 客户端错误 413Payload Too Large(客户端错误) 当请求长度过长时,出现此结果。 400BadRequest(客户端错误) 当参数无效时,出现此结果。 404Not Found(客户端错误) 当资源不存在时,出现此结果。 405Method Not Allowed(客户端错误) 由于方法和资源组合不正确而出现此错误。 例如,您不能对一个实 体集合使用 DELETE 或 PATCH。 412Precondition Failed 客户端错误 501Not Implemented(服务器错误) 当未实施某个请求的操作时,出现此结果。 503Service Unavailable(服务器错误) 当 Web API 服务不可用时,出现此结果。