본문 바로가기

학습 내용 정리/python

PULL methods 미스테리

728x90

 

이번 미니 프로젝트 소개위드미를 진행하면서 나의 착오로 PUT이라는 메서드 대신에 PULL이라는 단어를 넣은 적이 있다.

그런데 신기하게도 기능은 전부 에러 없이 정상 작동 하는 것이다.

너무 궁금한데 검색해도 안 나와서 chatGPT와 Bard에게 물어보았다.

 

Bard 의 답변 : 

PUT 메서드는 HTTP 요청을 사용하여 리소스를 서버에 생성하거나 업데이트하는 데 사용됩니다. POST 메서드는 새 리소스를 생성하는 데 사용됩니다. GET 메서드는 서버에서 리소스를 가져오는 데 사용됩니다. DELETE 메서드는 서버에서 리소스를 삭제하는 데 사용됩니다.
PULL 메서드는 HTTP 요청에 사용되지 않는 잘못된 메서드입니다. PUT 또는 POST와 같은 HTTP 메서드를 사용하는 대신 데이터베이스 또는 기타 원격 시스템에서 데이터를 가져오는 데 사용할 수 있는 API를 사용하는 것이 좋습니다.
PULL 메서드가 작동하는 이유는 HTTP 프로토콜이 느슨하게 결합되어 있기 때문입니다. 즉, 서버는 클라이언트가 요청한 정확한 메서드를 지원하지 않더라도 요청을 처리할 수 있습니다. 그러나 서버가 요청한 메서드를 지원하지 않으면 요청을 올바르게 처리하지 못할 수 있습니다.

 

chatGPT 의 답변 : 

 

HTTP 표준에서는 "PULL"이라는 메서드가 정의되어 있지 않기 때문에, 일반적인 HTTP 클라이언트 라이브러리에서는 "PULL" 메서드를 지원하지 않습니다. 따라서, "PULL" 메서드를 직접 사용하여 요청을 보내면 일반적으로 예외가 발생할 것입니다.

그러나 어떤 프레임워크나 서버에서는 사용자 정의 메서드를 허용하거나, 사용자가 지원하지 않는 메서드를 구현하는 방법을 제공할 수 있습니다. 이런 경우에는 해당 프레임워크나 서버에서 사용자가 정의한 "PULL" 메서드를 인식하고 처리할 수 있습니다.

예를 들어, 몇몇 웹 프레임워크나 API 프레임워크에서는 HTTP 메서드를 사용자 정의하는 기능을 제공할 수 있습니다. 이 경우, 사용자는 "PULL"이라는 메서드를 정의하고 해당 프레임워크의 기능을 사용하여 "PULL" 메서드에 대한 처리 로직을 구현할 수 있습니다.

하지만 이는 표준 HTTP 메서드가 아니므로, 다른 클라이언트나 서버에서는 "PULL" 메서드를 인식하거나 지원하지 않을 수 있습니다. 이러한 사용자 정의 메서드를 사용할 때는 해당 프레임워크 또는 서버의 문서나 지원 가이드를 확인하여 사용 방법을 정확히 이해하는 것이 중요합니다.

단순히 "PULL" 메서드를 사용하는 것은 일반적이지 않으며, 대부분의 경우 "GET" 메서드를 사용하여 데이터를 가져오는 것이 권장됩니다.