Network/HTTP

[HTTP 메서드] 1. HTTP GET 메서드는 언제 사용되는가? 리소스 조회 및 질의를 위한 HTTP GET

Dev.Cho 2021. 5. 10. 18:43

GET 메서드

GET 메서드는 리소스를 조회하는데 사용된다. 보통 GET메서드는 리소스에 직접 접근하거나 질의(Query)를 날릴 때 사용된다.

 

리소스 직접 조회

먼저 GET메서드를 이용해 리소스를 조회하는 것을 살펴보자. 

https://kotlinworld.com/post/94

위와 같은 URL을 웹브라우져에 날렸다고 해보자.

 

이는 아래와 같은 HTTP 메세지로 변환되어 서버로 전송된다.

GET /post/94 HTTP/1.1
Host: www.kotlinworld.com

그림1. GET 리소스 직접 접근

이 때 서버는 www.kotlinworld.com의의 /post/94에 있는 리소스를 클라이언트에 반환한다.

 

질의(Query)를 통한 조회

다음은 질의를 이용해 리소스를 조회하는 방식이다.

 

질의는 ?{키워드}={질의 내용} 을 통해 입력된다. 

www.google.com/search?q=kotlinworld

예를 들어 위와같은 URL을 웹브라우져에 날렸다고 해보자. 그러면 host는 www.google.com 이며 리소스 경로는 search, 질의의 keyword는 q이고 질의 내용은 kotlinworld가 되어 kotlinworld를 포함하는 웹문서들이 조회되어 반환된다.

 

그림2. 쿼리를 이용한 리소스 접근

 

GET 메서드에는 바디를 쓰는 것을 지양한다.

위의 내용을 보면 리소스를 직접 조회하던, 질의를 통해 조회하던 바디를 쓰지 않고 있다. 

 

실사용 시에는 GET메서드에 바디를 허용하는 경우도 있지만, 많은 서버에서 GET메서드를 처리할 때는 바디를 읽지 않고 시작라인과 헤더를 읽은 후 데이터를 처리한다. 

 

따라서 GET 메서드 사용 시 바디는 쓰지 않는다.

반응형