post,get,put等请求方法有什么不同

1、   请求      
  在消息定义部分可以这样定义请求:   请求类型   URL   HTTP/1.1      
  其中请求类型可以是下面的一种:      
  ①.   OPTION:返回请求者和相应者之间可以使用的通信选项,主要用来检测服务器处理能力;      OPTIONS方法是用于请求获得由Request-URI标识的资源在请求/响应的通信过程中可以使用的功能选项。
  ②.   GET:获得以URL标示的文件内容或者程序执行结果。服务器根据文件名后缀判断服务内容,比如该URL是静态文本还是一个程序;    
  ③.   HEAD:除了不返回响应的信息本体以外,得到的是跟GET一样的信息。一般用来测试链接的有效性、可达性和近期修改;    
  ④.   POST:把消息本体中的消息发送到一个URL或者其他类似的服务器端定义行为。通常用来提交一个HTML表单或者一些数据操作活动;      

  ⑤.   PUT:把消息本体中的消息发送到一个URL,跟POST类似,但不常用;      

⑥.   DELETE:删除URL指定的资源;    

  ⑦.   TRACE:调用一个远程应用层请求消息回路。发出这个消息的用户终端除了收到原来的消息内容以外,还得到消息在Internet上的传送路径。


OPTIONS请求方法的主要用途有两个:

1、获取服务器支持的HTTP请求方法;也是黑客经常使用的方法。

2、用来检查服务器的性能。例如:AJAX进行跨域请求时的预检,需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,用以判断实际发送的请求是否安全。





-------------------------------------

HTTP/1.1协议中共定义了八种方法(也叫“动作”)来以不同方式操作指定的资源:

  • OPTIONS:這個方法可使服务器傳回該资源所支持的所有HTTP请求方法。用'*'來代替資源名稱,向Web服务器发送OPTIONS请求,可以测试服务器功能是否正常運作。
  • HEAD:與GET方法一樣,都是向服务器发出指定资源的请求。只不过服务器將不傳回資源的本文部份。它的好處在於,使用这個方法可以在不必传输全部内容的情况下,就可以获取其中「關於該資源的信息」(元信息或稱元資料)。
  • GET:向指定的资源发出「顯示」请求。使用GET方法應該只用在讀取資料,而不应当被用于产生「副作用」的操作中,例如在Web Application中。其中一个原因是GET可能会被网络蜘蛛等随意访问。参见安全方法
  • POST:向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)。数据被包含在请求本文中。這個請求可能会建立新的资源或修改現有资源,或二者皆有。
  • PUT:向指定资源位置上传其最新内容。
  • DELETE:请求服务器删除Request-URI所标识的资源。
  • TRACE:回显服务器收到的请求,主要用于测试或诊断。
  • CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。通常用於SSL加密伺服器的連結(經由非加密的HTTP代理伺服器)。

方法名称是区分大小写的。当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Method Not Allowed),当服务器不认识或者不支持对应的请求方法的时候,应当返回状态码501(Not Implemented)。

HTTP服务器至少应该实现GET和HEAD方法,其他方法都是可选的。当然,所有的方法支持的实现都应当符合下述的方法各自的语义定义。此外,除了上述方法,特定的HTTP服务器还能够扩展自定义的方法。例如:

  • PATCH(由RFC5789指定的方法):用于将局部修改应用到资源。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值