HTTP Method - OPTIONS, HEAD, TRACE

wujin·2023년 9월 12일
0

HTTP Method - OPTIONS, HEAD, TRACE

웹 서버는 클라이언트에게 제공할 여러가지 컨텐츠를 준비하고 있고, 클라이언트가 요청하면 즉시 해당되는 컨텐츠를 제공하게 된다. 이러한 컨텐츠 기반에서 직접적인 액션을 취하는 Method가 GET, POST, PUT, PATCH, DELETE 이다.

OPTIONS와 HEAD, TRACE는 웹 서버가 컨텐츠를 서비스하기 위한 환경적인 요소를 확인하기 위한 Method라고 보면 된다. 웹 서버에서 어떤 문제가 있을 시 문제를 진단하기 위해 사용된다.

OPTIONS (HTTP 옵션 요청)

  • OPTIONS 요청은 웹 서버에서 지원하는 HTTP 요청 방식을 확인하고자 할때 사용하는 Method이다.

  • 클라이언트가 OPTIONS라는 요청 Method와 URI를 웹 서버로 전달하면, 웹 서버는 서버가 지원하는 HTTP 요청 방식(GET, POST, PUT 등)을 응답 헤더에 포함하여 클라이언트에게 응답한다.

  • 이 요청은 실제 데이터를 요청하지 않고, 서버가 어떤 메서드를 지원하고 어떤 권한을 가지고 있는지를 확인하는 데 사용된다.

  • 보안 정책에서 허용된 메서드 및 권한을 확인할 때 유용하며, Cross-Origin Resource Sharing(CORS)와 관련하여 웹 애플리케이션 간의 통신을 지원하기 위해 주로 사용된다.

HEAD (HTTP 헤더 요청)

  • HEAD 요청 방식은 GET 요청 방식과 비슷하지만, 실제 응답 본문(Body)을 포함하지 않는다. GET은 당연히 컨텐츠를 클라이언트에게 전달하지만, HEAD는 클라이언트가 요청한 URI에 해당되는 응답 헤더만 전달한다.

  • 위 사진과 같이 DATA가 클라이언트에게 전달되지 않고 상태코드(Status)만 전달되는 것을 볼 수 있다.

  • HEAD는 흔히 클라이언트가 요청한 URI의 컨텐츠가 웹 서버에 존재하는지 여부를 확인할 수 있다.

  • 클라이언트는 응답 헤더만 전달받게 되는데 상태코드(Status)가 200 OK 면 컨텐츠가 웹 서버에 존재하는 것이고, 404는 웹 서버에 존재 하지 않는 것을 의미한다.

TRACE (HTTP 트레이스 요청)

  • TRACE 요청 방식은 웹 서버로 가는 네트워크 경로를 체크하는 Method이다. 웹 서버와 클라이언트 사이에 중간 서버가 존재할 경우 이용하여 확인할 수 있다.

  • 클라이언트가 TRACE로 웹 서버에 요청을 하면, 중간 서버가 이를 먼저 받고 요청 메시지를 그대로 웹 서버로 전달한다. 이때, 클라이언트의 요청 메시지에 Via 헤더 정도를 추가하여 전달하는데 Via에는 중간 서버의 정보를 포함하게 된다.

  • 웹 서버는 Via가 포함된 클라이언트의 요청 메시지를 받게 되면, 요청 메시지 전체를 응답 데이터에 포함하여 클라이언트에게 전달한다.

  • 클라이언트가 웹 서버로부터 전달된 데이터를 받으면, 데이터에 포함된 Via 정보를 통해 경로상에 중간 서버가 존재함을 확인할 수 있게된다.


참고자료
https://withbundo.blogspot.com/2017/07/http-5-http-optionsheadtrace.html?m=0

0개의 댓글