HTTP权威指南 -- HTTP协议有哪些请求方法(Method)?

HTTP规范中定义了一组常用的请求方法。比如, GET方法负责从服务器获取一个
文档, POST方法会向服务器发送需要处理的数据, OPTIONS方法用于确定Web
服务器的一般功能, 或者Web服务器处理特定资源的能力。

HTTP协议下常用的7种请求方法

方法描述是否包含主体
GET从服务器获取一份文档
HEAD只从服务器获取文档的首部
POST向服务器发送带要处理的数据
PUT将请求的主体部分存储在服务器上
TRACE对可能经过代理服务器传送到服务器上去的报文进行追踪
OPTIONS决定可以在胀务器上执行哪些方法
DELETE从服务器上删除一份文档
具体描述:

3.3.2 GET
GET是最常用的方法。通常用千请求服务器发送某个资源。HTIP/1.1要求服务器
实现此方法。图3-7显示了一个例子, 在这个例子中, 客户端用GET方法发起了一
巨习次HTIP请求。
在这里插入图片描述

3.3.3 HEAD
HEAD方法与GET方法的行为很类似, 但服务器在响应中只返回首部。不会返回实
体的主体部分。这就允许客户端在未获取实际资源的情况下, 对资源的首部进行检
查。使用HEAD, 可以:
• 在不获取资源的情况下了解资源的情况(比如, 判断其类型) 1
• 通过查看响应中的状态码, 看看某个对象是否存在,
• 通过查涽首部, 测试资源是否被修改了。
服务器开发者必须确保返回的首部与GET请求所返回的首部完全相同。遵循
HTTP/1.1规范, 就必须实现HEAD方法。图3-8显示了实际的HEAD方法。
在这里插入图片描述

3.3.4 PUT
与GET从服务器读取文档相反,PUT方法会向服务器写入文档。有些发布系统允
许用户创建Web页面, 并用PUT直接将其安装到Web服务器上去。
在这里插入图片描述
PUT方法的语义就是让服务器用请求的主体部分来创建一个由所请求的URL命名
的新文档, 或者, 如果那个URL已经存在的话, 就用这个主体来替代它。
因为PUT允许用户对内容进行修改, 所以很多Web服务器都要求在执行PUT之
前, 用密码登录。在第12章中可以读到更多有关密码认证的内容。

3.3.5 POST
POST方法起初是用来向服务器输入数据的3。实际上, 通常会用它来支持HTML
的表单。表单中填好的数据通常会被送给服务器, 然后由服务器将其发送到它要去
的地方(比如, 送到一个服务器网关程序中, 然后由这个程序对其进行处理)。图
3-10显示了一个用POST方法发起HTTP请求一向服务器发送表单数据一的客
户端。
在这里插入图片描述

3.3.6 TRACE
客户端发起一个请求时, 这个请求可能要穿过防火墙、代理、网关或其他一些应用
程序。每个中间节点都可能会修改原始的HTTP 请求。TRACE方法允许客户端在
最终将请求发送给服务器时, 看看它变成了什么样子。
TRACE请求会在目的服务器端发起一个“环回” 诊断。行程最后一站的服务器会
弹回一条TRACE响应, 井在响应主体中携带它收到的原始请求报文。这样客户端
巨习就可以查看在所有中间HTTP应用程序组成的请求I响应链上, 原始报文是否, 以
及如何被毁坏或修改过。
在这里插入图片描述
TRACE方法主要用于诊断,也就是说, 用千验证请求是否如愿穿过了请求I响应
链。它也是一种很好的工具,可以用来查看代理和其他应用程序对用户请求所产生
效果。
尽管TRACE可以很方便地用千诊断, 但它确实也有缺点, 它假定中间应用程序对
各种不同类型请求( 不同的方法–GET、HEAD、POST等) 的处理是相同的。
很多HITP应用程序会根据方法的不同做出不同的事情一比如, 代理可能会将
POST请求直接发送给服务器, 而将GET请求发送给另一个HITP应用程序(比如
Web缓存)。TRACE并不提供区分这些方法的机制。通常, 中间应用程序会自行决
巨回定对TRACE请求的处理方式。
TRACE请求中不能带有实体的主体部分。TRACE响应的实体主体部分包含了响应
服务器收到的请求的精确副本。

3.3. 7 OPTIONS
OPTIONS方法诮求Web服务器告知其支持的各种功能。可以询问服务器通常支持
哪些方法, 或者对某些特殊资源支持哪些方法。(有些服务器可能只支持对一些特殊
类型的对象使用特定的操作)。
这为客户端应用程序提供了一种手段, 使其不用实际访问那些资源就能判定访问各
种资源的最优方式。阳3-12显示了一个使用OPTIONS方法的请求。
在这里插入图片描述

3.3.8 DELETE
顾名思义,DELETE方法所做的事情就是请服务器删除请求URL所指定的资源。
但是, 客户端应用程序无法保证删除操作一定会被执行。因为HTTP规范允许服务
器在不通知客户端的情况下撤销请求。阳3-13显示了一个DELETE方法实例。
在这里插入图片描述

3.3.9 扩展方法
HTTP被设计成字段可扩展的,这样新的特性就不会使老的软件失效了。扩展方法
指的就是没有在HTIP/1.1规范中定义的方法。服务器会为它所管理的资源实现一
些HTTP服务,这些方法为开发者提供了一种扩展这些HTTP服务能力的手段。表
3-5列出了一些常见的扩展方法实例。这些方法就是WebDAVHTTP扩展(参见第
19章)包含的所有方法,这些方法有助千通过HTTP将Web内容发布到Web服务
器上去。
表3-5 Web发布扩展方法示例

方法描述
LOCK允许用户“锁定“ 资源一一比如, 可以在编辑某个资渊的时候将其锁定,以防别人同时对其进行修改
MKCOL允许用户创建资源
COPY便于在服务器上复制资源
MOVE在服务器上移动资源

允许用户“锁定“ 资源一一比如, 可以在编辑某个资渊的时候将其锁定,
以防别人同时对其进行修改
允许用户创建资源
便于在服务器上复制资源
在服务器上移动资源
并不是所有的扩展方法都是在正式规范中定义的,认识到这一点很重要。如果你定
义了一个扩展方法,很可能大部分HTTP应用程序都无法理解。同样,你的HTTP
应用程序也可能会遇到一些其他应用程序在用的,而它并不理解的扩展方法。区9
在这些情况下,最好对扩展方法宽容一些。如果能够在不破坏端到端行为的情况下
将带有未知方法的报文传递给下游服务器的话,代理会尝试若传递这些报文的。否
则,它们会以501 Not Implemented (无法实现)状态码进行响应。最好按惯例”对
所发送的内容要求严一点,对所接收的内容宽容一些” 来处理扩展方法(以及一般
的HTTP扩展)。
HTTP

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
HTTP 405 - 方法不允许(HTTP 405 - Method Not Allowed)是指在向服务器发送请求时,服务器不支持该请求所使用的HTTP方法。引用提到了用户在腾讯云社区遇到了一个类似的问题。引用中也提到了405错误通常伴随着POST请求发生。这可能是由于服务器不支持或未配置对应的HTTP方法所导致的。需要注意的是,这个错误并不一定只与POST请求有关,也可能与其他HTTP方法相关。要解决这个问题,可以尝试以下几个方法: 1. 检查请求方法:确保使用的是正确的HTTP方法。对于405错误,常见的是应该使用POST请求,而不是GET或其他HTTP方法。 2. 检查URL和端点:确认请求的URL和端点是否正确。可能是请求的URL不正确,或者请求的URL对应的端点没有配置对应的HTTP方法。 3. 检查服务器配置:检查服务器的配置文件或设置,确保对应的HTTP方法是允许的。有时候服务器可能会限制某些方法的访问权限。 4. 检查权限和身份验证:如果服务器要求身份验证或权限验证,确保提供了正确的凭据。有时候缺少正确的权限或身份验证会导致405错误。 5. 与服务提供商联系:如果以上方法都无法解决问题,可以联系服务提供商或服务器管理员,寻求他们的帮助和支持。 请根据具体的情况尝试上述方法来解决HTTP 405错误。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [HTTP状态405-此URL不支持HTTP方法GET](https://blog.csdn.net/weixin_41974187/article/details/102532596)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [http请求 405错误](https://blog.csdn.net/java20xin/article/details/123555834)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值