Http 的8种方法


HTTP 的工作方式是客户端与服务器之间的请求-应答协议。
web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。

最常用的http方法

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。

1. GET

在英文中 get 可以译为 获取,在网络中就可以理解为 获取资源
GET 用于请求已经被URL识别的资源。如果请求的资源是文本,那么就保持原来的样子返回;如果是网关接口那样的程序,则返回经过执行后的输出结果
用于向服务器查询某一些信息。

2. POST

在英文中 post可以译为 传递,在网络中就可以理解为 传输实体文本
POST方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用

GET 和 POST 的区别

  1. GET方法用于信息获取,它是安全的(安全:指非修改信息,如数据库方面的信息),因为数据在地址栏上不可见。而POST方法是用于修改服务器上资源的请求,只有使用HTTPS才能加密安全;
  2. GET 请求可以被缓存,POST 方法不能被缓存
  3. GET 请求有长度限制 (IE限制在2KB,Chrome,FireFox浏览器理论上对于URL是没有限制的,真正的限制取决于操作系统本身;),POST 请求对数据长度没有要求
  4. GET 请求可被收藏为书签,POST 不能被收藏为书签
  5. GET请求只能进行url编码,而POST支持多种编码方式。
  6. GET参数通过URL传递,POST放在Request body
  7. GET请求会被浏览器主动cache,而POST不会,除非手动设置。
  8. GET在浏览器回退时是无害的,而POST会再次提交请求
  9. 当不携带参数的时候,两者最大的区别为第一行方法名不同
    post : /uri HTTP/1.1 \r\n
    get : /uri HTTP/1.1 \r\n

GET 和 POST 相同之处

  1. GETPOST,用的都是同一个传输层协议,所以在传输上没有区别
  2. GET 方法 和 POST 都可以传输实体的主体 (但一般不用GET方法进行传输,而是用POST方法;虽然GET方法和POST方法很相似,但是POST的主要目的并不是获取响应的主体内容。)

不常用的http方法

GET, POSTHEAD 是HTTP1.0 定义的三种请求方法。
OPTIONS, PUT, DELETE, TRACECONNECT 是HTTP1.1新增的五种方法

3. HEAD

类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头。
具体应用为 :

  • 查看响应中的状态码,看对象是否存在
  • 测试资源是否被改动
  • 判断类型

HEAD方法和GET方法的区别:

  • GET方法有实体,HEAD方法无实体。

4. PUT

这个方法用于传输文件。
机制为要求在请求报文的主体中包含文件内容,然后保存在请求URI指定的位置。
缺点 :

  • 自身不带验证机制,任何人都可以上传文件,存在安全问题

5. DELETE

删除某个资源,一般是用来客户端指示服务端的,与PUT 不同的是,DELETE 是按照URL删除指定资源的。

6. OPTIONS

查询支持的方法。允许客户端查看服务器的性能。
也就是说,用来查询针对请求 URL指定资源支持的方法

7. CONNECT

要求用隧道协议连接代理。
这个方法要求在与代理服务器通信的时候建立隧道,并实现用隧道协议进行TCP通信。
主要使用SSL和TLS协议把通信内容加密后经网络隧道传输。

8. TRACH

追踪路径
客户端可以对请求消息的传输路径进行追踪,TRACE方法是让Web服务器端将之前的请求通信还给客户端的方法
应用 :

  • 回显服务器收到的请求,主要用于测试或诊断。
  • 6
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值