QUICK REVIEW
[논문 리뷰] Support for Various HTTP Methods on the Web
Sawood Alam, Charles L. Cartledge|arXiv (Cornell University)|2014. 05. 08.
Service-Oriented Architecture and Web Services참고 문헌 22인용 수 5
한 줄 요약
이 연구는 OPTIONS 요청과 Allow 헤더를 사용하여 40,870개의 실시간 웹 URI에서 HTTP 메서드 지원을 평가한다. 분석 결과, 7개의 일반적인 HTTP 메서드(GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD)를 모두 지원하는 URI는 전체의 1.023%에 불과했으며, 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에 대해 'Allow' 응답 헤더를 확인하기 위해 OPTIONS 요청을 전송하였다.
- 연구는 웹 서버 소프트웨어(예: Apache, IIS, Nginx)와 경로 깊이 수준(0에서 12까지)에 따른 메서드 지원을 분석하였다.
- 지원 비율은 'Allow' 헤더에서 메서드 지원을 선언한 URI의 비율로 백분율로 계산되었다.
- 실제 메서드 동작의 검증은 배제되었으며, 오직 'Allow' 헤더에 기록된 선언된 지원만 기록되었다.
- 데이터는 집계 및 정규화되었으며, 희귀하거나 알려지지 않은 서버 유형은 '기타' 또는 '알 수 없음' 카테고리로 묶였다.
실험 결과
연구 질문
- RQ1공개 웹 서비스는 GET과 POST 이외의 HTTP 메서드를 어느 정도 지원하는가?
- RQ2PUT, PATCH, DELETE 메서드 지원은 다양한 웹 서버 소프트웨어 간에 어떻게 다름이 있는가?
- RQ3경로 깊이와 고급 HTTP 메서드 지원 가능성 사이에 어떤 관계가 있는가?
- RQ4이론적으로는 RESTful 메서드를 사용하는 것이 일반적이지만 실제 프로덕션 웹 서비스에선 왜 이들의 배포가 미흡한가?
- RQ5'Allow' 헤더는 실제 메서드 지원을 얼마나 신뢰할 수 있는 지표로 사용할 수 있는가?
주요 결과
- 샘플링된 40,870개의 URI 중 1.023%만 'Allow' 헤더에서 GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD의 7개 메서드를 모두 지원한다고 선언했다.
- 약 55%의 URI가 GET과 POST를 모두 지원했지만, PUT, PATCH, DELETE 중 하나라도 지원한다고 선언한 URI는 2% 미만이었다.
- 가장 널리 사용되는 웹 서버인 Apache는 제공하는 URI 중 PUT, DELETE, PATCH를 지원하는 비율이 2% 미만이었다.
- 경로 깊이가 1인 URI(예: /path)는 PUT과 DELETE에 대해 가장 높은 전체 메서드 지원률을 보였다.
- 경로 깊이가 2인 URI는 PUT과 DELETE 메서드 지원률이 가장 높았고, 깊이가 3인 URI는 PATCH 메서드 지원률이 가장 높았다.
- 15.327%의 URI는 OPTIONS, HEAD, GET만 지원한다고 선언했고, 38.527%는 OPTIONS, HEAD, GET, POST까지 지원한다고 선언하여 상태 변경 메서드의 최소한의 사용이 드러났다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.