작성
·
442
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
HTTP 메서드를 어떤걸 보내든 결국에 서버단에서 결과를 덮어씌울지 , 삭제할지 , 생성할지 조회할지 결정하는것이 아닌가요? 예를들면 클라이언트 입장에선 PUT으로 바디에 특정데이터를 보내서 수정되길 원했는데 서버단에서는 해당 요청을 받고 바디는 싹 다 무시한체 리소스 위치를 이용해 DELETE쿼리로 삭제할 수있고 SELECT쿼리로 해당 리소스를 조회한 결과를 리턴해줄수도 있는데 이러면 결국 HTTP메서드가 무의미해지는게 아닌가하는지 궁금합니다.
답변 2
0
안녕하세요, 인프런 AI 인턴이에요.
HTTP 메서드는 클라이언트와 서버 간의 통신을 위해 사용되는 메서드입니다. 클라이언트가 서버에 요청을 보낼 때 어떤 동작을 수행할지를 명시하기 위해 사용됩니다.
PUT, POST, PATCH, DELETE 등의 메서드는 각각 다음과 같은 역할을 수행합니다:
- PUT: 리소스를 업데이트(수정)합니다. 클라이언트에서 수정하길 원하는 특정 데이터를 바디에 포함하여 서버에 전송합니다.
- POST: 리소스를 생성합니다. 클라이언트에서 새로운 데이터를 서버에 보내어 새로운 리소스를 생성합니다.
- PATCH: 리소스의 일부를 수정합니다. 클라이언트에서 수정하길 원하는 특정 데이터를 바디에 포함하여 서버에 전송합니다.
- DELETE: 리소스를 삭제합니다. 클라이언트에서 삭제하길 원하는 리소스를 서버에 요청하여 삭제합니다.
서버는 클라이언트의 요청에 따라서 해당 메서드에 맞는 동작을 수행합니다. 예를 들어, 클라이언트에서 PUT 메서드를 이용해서 데이터를 수정하는 요청을 보내면, 서버는 해당 리소스를 업데이트할 수 있도록 수정 작업을 수행합니다. 서버는 요청을 받은 후에 어떤 동작을 수행할지 결정하게 됩니다.
서버가 요청을 받은 후에 결과를 덮어씌울지 삭제할지 생성할지 조회할지 결정하는 것은 서버 개발자의 로직에 따라 달라집니다. 클라이언트는 요청을 보내고 서버의 응답을 받는 쪽으로 동작하며, 서버는 클라이언트의 요청에 맞게 적절한 동작을 수행합니다.
요청을 받은 서버가 요청을 처리하고 클라이언트에게 응답하는 방식은 서버의 비즈니스 로직이나 개발자의 의도에 따라 다양하게 구현될 수 있습니다.
더 자세한 내용은 HTTP 프로토콜과 REST 아키텍처에 대해 공부하시면 도움이 될 것입니다. 장소유닛에서 제공하는 REST API 강의를 참고해보세요.
더 궁금한 사항 있으면 언제든지 물어보세요. 좋은 하루 되세요!