쉬운·기술사전비유로 이해하는 AI·개발 용어
API와 연결

HTTP 메서드

HTTP Methods

조회, 생성, 수정, 삭제. 웹을 움직이는 네 가지 동사예요.

HTTP 메서드 개념 다이어그램

개발자가 "그냥 POST 요청이에요"라고 말했을 때, 저는 아무것도 알아듣지 못한 채 고개를 끄덕였어요. 레스토랑에서 낯선 언어로 말하는 웨이터에게 그러듯이요. 나중에 찾아봤더니, 네 개의 작은 단어가 모든 일을 하고 있었어요.

핵심은 이래요. 소프트웨어 하나가 어떤 서비스에 말을 걸 때, 반드시 네 가지 동작 중 하나를 해요. 우리가 일상에서 어떤 것에든 하는 바로 그 네 가지 동작이에요. 보기, 추가하기, 바꾸기, 버리기. 그게 전부예요. 웹에서는 이것들을 멋진 이름으로 부르지만, 결국 그냥 동사랍니다.

Shopify 스토어를 예로 들면:

  1. GET은 조회해요. "내 주문 목록을 보여줘." 그냥 보는 거예요. 아무것도 바뀌지 않아요.

  2. POST는 새로운 것을 만들어요. "이 상품을 추가해." 없던 것이 생기는 거예요.

  3. PUT은 이미 있는 것을 수정해요. "가격을 29달러로 바꿔." 같은 상품, 새로운 값이에요.

  4. DELETE는 삭제해요. "이 고객을 지워." 사라지는 거예요.

조회, 생성, 수정, 삭제. 개발자들은 이 네 가지를 묶어서 CRUD라고 불러요. 네 글자, 네 동사. 이제 전부 만난 셈이에요.

머릿속에 박히게 된 계기가 있어요. 이 개념은 웹에만 있는 게 아니라는 점이에요. 지금껏 눌러온 모든 버튼 뒤에 바로 이 동사들이 있었던 거예요.

그래서 개발자가 "POST 요청이에요"라고 하면, "뭔가를 새로 만드는 거구나"로 들으면 돼요. "GET이 실패해요"라고 하면, "데이터를 읽어오지 못하는 거구나"로 이해하면 되고요. 내부 구조를 알 필요는 없어요. 네 가지 동사 중 어떤 것이 쓰이고 있는지만 알면, 지금 무슨 일이 일어나야 하는지를 알 수 있어요.

하나만 더 기억해두면 실제 상황에서 도움이 돼요. GET은 몇 번 반복해도 안전하지만, POST는 그렇지 않아요. 주문 목록을 열 번 조회해도 문제없어요. 그냥 열 번 읽는 거니까요. 하지만 "생성" 동작이 두 번 실행되면(버벅임, 더블클릭, 불안정한 연결), 같은 것이 두 개 만들어질 수 있어요. 그게 바로 앱들이 "새로고침하지 마세요, 결제 처리 중입니다"라고 경고하는 이유예요. 새로고침하면 POST가 다시 실행될 수 있고, 결제가 두 번 청구되는 건 누구도 원하지 않으니까요.

GET, POST, PUT, DELETE. 보기, 추가, 수정, 삭제. 동작은 이미 알고 있었어요. 이제 그 이름까지 알게 됐고요.