几种常见的请求方式
HTTP/1.0
GET 偏向于获取数据,一般用于给后端一些参数,用于获取列表数据
POST 偏向于给服务器数据,一般用于登录,表单提交等,给服务器信息,后端给一个简单的结果
PUT 偏向于给服务器一些信息,但是是添加使用,一般用于注册,给服务器一些信息,后端把这个信息存起来
HEAD 用于获取服务器头信息
HTTP/1.1
DELETE 偏向于删除,一般用于删除评论,删除微博等
CONNECT 管道连接改变代理连接使用
PATCH 偏向于给服务器一些信息,偏向于修改一些信息,一般用于完善用户资料
OPTIONS 用于获取服务器性能,但是需要服务端同意才行(在浏览器与服务器正式通信之前,浏览器会先发送OPTION请求进行预检,以获知服务器是否允许该实际请求,所以这一次的OPTION请求被称为“预检请求”。服务器成功响应预检请求后,才会发送真正的请求,并携带真实数据。会请求两次。)
GET 和 POST 请求方式的区别
- GET
- 偏向于获取数据
- 携带参数的方式是查询字符串,在地址栏后拼接参数,明文发送,相对不安全
- 理论携带数据无限,但是因为浏览器地址栏有限,所以被限制为 2KB 以下(IE 只能 2KB)
- 会被浏览器主动缓存
- 只能发送 url 编码的数据(ASCII 码),如果不是,会自动转码(比如中文)
- POST
- 偏向于把数据给服务器
- 携带参数的方式在请求体中,暗文发送,相对安全
- 理论携带数据无限,但是会被服务器限制,由服务器决定
- 不会被浏览器主动缓存,除非手动设置
- 理论上可以发送任意格式的数据,但是要和请求头里面的 content-type 配套,