inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

모든 개발자를 위한 HTTP 웹 기본 지식

HTTP 메서드 - PUT, PATCH, DELETE

PUT , POST , PATCH , DELETE 등..

492

vnfthr

작성한 질문수 37

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

HTTP 메서드를 어떤걸 보내든 결국에 서버단에서 결과를 덮어씌울지 , 삭제할지 , 생성할지 조회할지 결정하는것이 아닌가요? 예를들면 클라이언트 입장에선 PUT으로 바디에 특정데이터를 보내서 수정되길 원했는데 서버단에서는 해당 요청을 받고 바디는 싹 다 무시한체 리소스 위치를 이용해 DELETE쿼리로 삭제할 수있고 SELECT쿼리로 해당 리소스를 조회한 결과를 리턴해줄수도 있는데 이러면 결국 HTTP메서드가 무의미해지는게 아닌가하는지 궁금합니다.

네트워크

답변 2

0

David

안녕하세요. vnfthr님, 공식 서포터즈 David입니다.

표준과 스펙을 따라 구현하는 게 강제는 아닙니다. 말씀하신대로 GET으로 요청했지만 내부에서는 리소스를 삭제하도록 동작하게 구현할 수 있습니다. 다만, 해당 서버와 통신하여 클라이언트에게 어떤 서비스를 제공하고자 한다면 상당히 괴로울 것입니다:) 걱정하시는 것과 다르게 대부분 표준과 스펙을 준수하여 개발하려고 합니다.

감사합니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.

HTTP 메서드는 클라이언트와 서버 간의 통신을 위해 사용되는 메서드입니다. 클라이언트가 서버에 요청을 보낼 때 어떤 동작을 수행할지를 명시하기 위해 사용됩니다.

PUT, POST, PATCH, DELETE 등의 메서드는 각각 다음과 같은 역할을 수행합니다:
- PUT: 리소스를 업데이트(수정)합니다. 클라이언트에서 수정하길 원하는 특정 데이터를 바디에 포함하여 서버에 전송합니다.
- POST: 리소스를 생성합니다. 클라이언트에서 새로운 데이터를 서버에 보내어 새로운 리소스를 생성합니다.
- PATCH: 리소스의 일부를 수정합니다. 클라이언트에서 수정하길 원하는 특정 데이터를 바디에 포함하여 서버에 전송합니다.
- DELETE: 리소스를 삭제합니다. 클라이언트에서 삭제하길 원하는 리소스를 서버에 요청하여 삭제합니다.

서버는 클라이언트의 요청에 따라서 해당 메서드에 맞는 동작을 수행합니다. 예를 들어, 클라이언트에서 PUT 메서드를 이용해서 데이터를 수정하는 요청을 보내면, 서버는 해당 리소스를 업데이트할 수 있도록 수정 작업을 수행합니다. 서버는 요청을 받은 후에 어떤 동작을 수행할지 결정하게 됩니다.

서버가 요청을 받은 후에 결과를 덮어씌울지 삭제할지 생성할지 조회할지 결정하는 것은 서버 개발자의 로직에 따라 달라집니다. 클라이언트는 요청을 보내고 서버의 응답을 받는 쪽으로 동작하며, 서버는 클라이언트의 요청에 맞게 적절한 동작을 수행합니다.

요청을 받은 서버가 요청을 처리하고 클라이언트에게 응답하는 방식은 서버의 비즈니스 로직이나 개발자의 의도에 따라 다양하게 구현될 수 있습니다.

더 자세한 내용은 HTTP 프로토콜과 REST 아키텍처에 대해 공부하시면 도움이 될 것입니다. 장소유닛에서 제공하는 REST API 강의를 참고해보세요.

더 궁금한 사항 있으면 언제든지 물어보세요. 좋은 하루 되세요!

캐시무효화시 그냥 no-store만 넣어되지 않나요?

0

96

2

API의 헤더와 바디에 대한 문의 입니다.

0

87

2

수정폼과 수정

0

77

1

쿠키에 대해 질문드려요!

0

100

2

서버에서 캐시 검증 헤더를 직접 처리해야 하나요?

0

98

1

http api get, post 멱등

0

48

1

컬렉션의 개념

0

54

1

시작라인에 들어가는 요청 대상 경로는 상대 경로 아닌가요?

0

62

1

PATCH 는 PUT처럼 멱등이여야 하지 않나요?

0

84

1

리소스 질문드립니다

0

62

1

IP 패킷 질문입니다.

0

64

1

html from, http api

0

82

2

브라우저 캐시가 60초 유효하다는게 무슨 뜻일까요

0

130

1

stateless 무상태 예제가 생각났는데. 저가 생각 한게 맞는지 궁금합니다.

0

110

1

URI 및 URL 질문, 왜 자바(스프링)에서는 이렇게 나누었는지?

0

151

1

host와 port

0

113

1

tcp/ip는 연결을 유지? 아니면 유지하지 않음?

0

157

1

다음 강의 커리큘럼 질문!!

0

138

2

캐시 개념에 대해서 설명하시지는 않으시는건가요?

0

116

1

클라이언트가 patch, delete 요청 시 알아야 하는 url

0

97

1

html form 형태 전송시 new, edit 등 컨트롤 리소스를 사용하는 이유

0

173

2

비 연결성(connectionless) 강의에서 질문입니다~

0

147

1

PATCH를 사용하지 못할 때 왜 POST?

0

171

2

협상과 우선순위3 질문드립니다.

1

135

1