我一直在玩AJAX
将数据发送到使用PHP完成的API REST。在任何时候,我都决定将ASD
指定为请求方法。然后我允许链接到API路由的函数接受ASD
作为方法,在PHP中我已经完成了这个:
$incomingData = file_get_contents("php://input");
令我惊讶的是,$incomingData
并非空,服务器没有抛出任何异常或错误,但$incomingData
具有指定值。
我感到很惊讶,因为我有几天在阅读每种请求方法的使用情况(POST
,PUT
,GET
,PATCH
等等)在这种情况下,使用其中一种或另一种更合适。我发现了很多好的做法和建议,所以我认为这个方法的类型与上面提到的值有很好的区别。
那为什么呢?为什么接受任何一个字?然后,对于特定情况,使用它们中的每一个是什么意思?
答案 0 :(得分:0)
最好的来源是RFC 7231 - http metod overview,它已废弃RFC 2616 on HTTP Method
HTTP methods can be expanded。还有Method Registry
有many already registered个方法并不常用。通用服务器只能支持GET和HEAD。
服务器可能会限制某个URI支持的方法,但通常您需要为此目的编写代码或配置。当方法受限时,如果方法已知但不受支持,服务器应该使用405回答,包括在响应中Allow
响应头中支持的方法列表,如果方法未知,则应包含501