Skip to main content
QUICK REVIEW

[论文解读] Support for Various HTTP Methods on the Web

Sawood Alam, Charles L. Cartledge|arXiv (Cornell University)|May 8, 2014
Service-Oriented Architecture and Web Services参考文献 22被引用 5
一句话总结

本研究通过OPTIONS请求和Allow响应头,对40,870个实际运行的网络URI进行了HTTP方法支持情况的评估。结果显示,仅有1.023%的URI支持全部七种常见HTTP方法(GET、POST、PUT、PATCH、DELETE、OPTIONS、HEAD),其中PUT、PATCH和DELETE的支持率均不足2%,表明尽管RESTful原则已被标准化,但实际应用中仍存在广泛不合规现象。

ABSTRACT

We examine how well various HTTP methods are supported by public web services. We sample 40,870 live URIs from the DMOZ collection (a curated directory of World Wide Web URIs) and found that about 55% URIs claim support (in the Allow header) for GET and POST methods, but less than 2% of the URIs claim support for one or more of PUT, PATCH, or DELETE methods.

研究动机与目标

  • 评估公共网络服务在实际中对各种HTTP方法的支持程度。
  • 研究现代网络服务在多大程度上通过标准HTTP方法实现了RESTful原则。
  • 识别标准化HTTP方法使用与实际生产环境中部署情况之间的差距。
  • 评估服务器软件和路径深度对方法支持分布的影响。

提出的方法

  • 研究人员从DMOZ精选的网络目录中抽取了40,870个实际运行的URI作为样本。
  • 对每个URI发送OPTIONS请求,以获取响应头中的'Allow'字段,从而确定其支持的HTTP方法。
  • 研究分析了不同Web服务器软件(如Apache、IIS、Nginx)以及路径深度级别(0至12)下的方法支持情况。
  • 支持率以声明支持该方法的URI占总样本的百分比计算。
  • 分析未验证实际方法行为,仅记录了通过'Allow'头声明的支持情况。
  • 数据经过聚合与归一化处理,将罕见或未知的服务器类型归入“其他”或“未知”类别。

实验结果

研究问题

  • RQ1公共网络服务对GET和POST之外的HTTP方法支持程度如何?
  • RQ2PUT、PATCH和DELETE方法的支持率在不同Web服务器软件之间有何差异?
  • RQ3路径深度与支持高级HTTP方法的可能性之间存在何种关系?
  • RQ4为何理论上的RESTful方法使用与实际生产环境中部署之间存在显著差距?
  • RQ5'Allow'头作为实际方法支持的指示器,其可靠性如何?

主要发现

  • 在40,870个采样URI中,仅有1.023%的URI在'Allow'头中声明支持全部七种常见HTTP方法(GET、POST、PUT、PATCH、DELETE、OPTIONS、HEAD)。
  • 约55%的URI声明支持GET和POST,但支持PUT、PATCH或DELETE中任意一种的URI均不足2%。
  • 使用最广泛的Web服务器Apache,在其托管的URI中,支持PUT、DELETE或PATCH的比率不足2%。
  • 路径深度为1(如/path)的URI展现出最高的整体方法支持率,尤其在PUT和DELETE方法上表现突出。
  • 路径深度为2的URI在PUT和DELETE方法支持率上最高,而路径深度为3的URI在PATCH方法支持率上领先。
  • 15.327%的URI仅声明支持OPTIONS、HEAD和GET,38.527%的URI声明支持OPTIONS、HEAD、GET和POST,表明对状态变更方法的使用极为有限。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。