我目前正在学习如何通过URL将消息传输到主机服务器。到目前为止,我所学到的是URL是如何组成的:http://example.com:80/latest/example.jpg?d=400x400向我提供了通过端口80从主机请求的维度中的图像"example.jpg“(可以省略,因为http总是使用端口80)。请求消息将如下所示:GET latest/example.jpg?d=400x400 HTTP/1.1。响应消息将如下所示:HTTP/1.1 200 OK。
因此,我很清楚如何从主机获取一些资源。但是像PUT、POST或DELETE这样的其他HTTP方法又是怎么回事呢?我不明白在URL的什么地方携带了HTTP方法,以供主机读取。我如何告诉主机使用PUT而不是GET?
提前谢谢。
发布于 2020-01-22 16:24:09
关于urls和相应的请求,似乎有一个小小的误解。
url http://example.com:80/latest/example.jpg?d=400x400由5部分组成:
获取所使用的协议(在您的情况下为http )获取使用fqdn的完全限定域名-(在您的情况下为fqdn上的example.com)
注意,请求消息看起来只像您概述的那样,因为您的浏览器默认使用HTTP的GET方法。正如你所说的那样,有各种各样的HTTP方法,比如PUT、POST、PATCH、DELETE等。
HTTP-Method是在HTTP头中声明的,因此调用哪个HTTP-Method取决于请求。
对于“知名的”互联网冲浪,你输入的url总是会得到一个GET请求。对于其他HTTP方法,这取决于应用程序(例如,您的网站或使用HTTP请求的正常软件)。例如,html允许使用<form>标记,您可以在其中指定http方法,例如,您可以使用POST。
总结一下:您的url没有指定HTTP方法。
浏览器默认使用GET,但最终由您的应用程序(以及应用程序背后的逻辑)决定使用哪个HTTP方法。
https://stackoverflow.com/questions/59854945
复制相似问题