Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
URL和HTTP协议_Http_Url_Web_Networking_Distributed Computing - Fatal编程技术网

URL和HTTP协议

URL和HTTP协议,http,url,web,networking,distributed-computing,Http,Url,Web,Networking,Distributed Computing,我目前正在学习如何通过URL将消息传输到主机服务器。到目前为止,我学到的是URL是如何组成的:http://example.com:80/latest/example.jpg?d=400x400提供了主机通过端口80请求的维度中的图像“example.jpg”(由于http始终使用端口80,因此可以省略该维度)。对此的请求消息如下所示: 获取最新的/example.jpg?d=400x400 HTTP/1.1。响应消息如下所示:HTTP/1.1200ok 因此,我很清楚如何从主机获取一些资源。但

我目前正在学习如何通过URL将消息传输到主机服务器。到目前为止,我学到的是URL是如何组成的:
http://example.com:80/latest/example.jpg?d=400x400
提供了主机通过端口80请求的维度中的图像“example.jpg”(由于http始终使用端口80,因此可以省略该维度)。对此的请求消息如下所示:
获取最新的/example.jpg?d=400x400 HTTP/1.1
。响应消息如下所示:
HTTP/1.1200ok

因此,我很清楚如何从主机获取一些资源。但其他HTTP方法(如PUT、POST或DELETE)又有什么用呢?我不明白在URL中,HTTP方法在哪里被承载,以便主机读取。我如何告诉主持人放而不是拿


提前感谢。

对于URL和相应的请求,似乎有一个小小的误解

url
http://example.com:80/latest/example.jpg?d=400x400
由5件组成:

  • 使用的协议(在您的例子中为http)
  • 使用fqdn-完全限定域名-(在您的示例中为example.com)
  • fqdn上的端口(在您的情况下为80)在您的情况下是不必要的,因为对于http,浏览器将默认为80
  • 您请求的资源,在您的案例中/latest/example.jpg
  • 您请求的GET参数由?表示,在您的情况下,参数d的值为400x400
请注意,请求消息看起来与您概述的消息类似,因为您的浏览器默认为HTTP的GET方法。正如您正确指出的,有各种HTTP方法,如PUT、POST、PATCH、DELETE等

HTTP方法在HTTP头中声明,因此它取决于调用哪个HTTP方法的请求

对于“著名的”互联网冲浪,键入的url将始终导致GET请求。对于其他HTTP方法,由应用程序(例如,您的网站或使用HTTP请求的普通软件)启用使用。例如,html支持使用
标记,您可以在其中指定http方法,例如,您可以说使用POST

总而言之:您的url没有指定HTTP方法


浏览器默认获取,但最终取决于您的应用程序(以及其背后的逻辑)使用哪种HTTP方法。

对于URL和相应的请求,似乎存在一个小小的误解

url
http://example.com:80/latest/example.jpg?d=400x400
由5件组成:

  • 使用的协议(在您的例子中为http)
  • 使用fqdn-完全限定域名-(在您的示例中为example.com)
  • fqdn上的端口(在您的情况下为80)在您的情况下是不必要的,因为对于http,浏览器将默认为80
  • 您请求的资源,在您的案例中/latest/example.jpg
  • 您请求的GET参数由?表示,在您的情况下,参数d的值为400x400
请注意,请求消息看起来与您概述的消息类似,因为您的浏览器默认为HTTP的GET方法。正如您正确指出的,有各种HTTP方法,如PUT、POST、PATCH、DELETE等

HTTP方法在HTTP头中声明,因此它取决于调用哪个HTTP方法的请求

对于“著名的”互联网冲浪,键入的url将始终导致GET请求。对于其他HTTP方法,由应用程序(例如,您的网站或使用HTTP请求的普通软件)启用使用。例如,html支持使用
标记,您可以在其中指定http方法,例如,您可以说使用POST

总而言之:您的url没有指定HTTP方法

浏览器默认获取,但最终取决于应用程序(以及其背后的逻辑)使用哪个HTTP方法