작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
84
·
수정됨
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오) 네
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네
[질문 내용]
안녕하세요.
영한쌤께서 실무에서는 컨트롤 리소스를 사용하는 경우가 많다고 하셨는데, html form 형태 전송시 post나 get밖에 처리가 안되더라도 이벤트를 prevent한 다음 ajax를 통해서 patch, put, delete하면 되지 않나요?
이벤트 핸들러를 만드는 등의 추가 코드 작업을 해줘야하는 번거로움 때문에 컨트롤 리소스를 사용하는것인지 궁금합니다.
아니면 다른 이유가 있는걸까요?
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. JEON님께서 질문하신 내용에 대해 설명드리겠습니다.
HTML 폼은 GET과 POST 메서드만 기본적으로 지원하기 때문에, 일반적인 웹 브라우저에서 PATCH, PUT, DELETE와 같은 HTTP 메서드를 바로 사용할 수 없습니다. 이로 인해 개발자들은 컨트롤 URI 또는 컨트롤 리소스를 사용하는 방법을 자주 채택하게 됩니다.
컨트롤 리소스를 사용하는 이유는 다음과 같습니다:
단순성: Ajax와 같은 비동기 요청을 통한 메서드를 사용하는 것보다 컨트롤 URI를 사용하는 것이 더 간단합니다. 필요한 로직을 서버 측에서 처리할 수 있기 때문에 클라이언트 측 복잡성을 줄일 수 있습니다.
일관성: 전통적인 웹 애플리케이션 환경에서 일괄적으로 GET, POST를 처리할 수 있어 개발의 일관성이 높아집니다. 이는 개발 및 유지보수를 보다 용이하게 해줍니다.
범용성: 모든 클라이언트가 Ajax 비동기 요청을 모니터링할 수 있는 것은 아닙니다. 따라서 모든 사용자에게 동일하게 동작하는 방식으로 설계할 수 있습니다.
실용적 이유: 서버 쪽 로직에서 클라이언트의 요청을 쉽게 제어할 수 있으며, 다양한 케이스에서 이슈 없이 동작할 수 있도록 도와줍니다. 또한, 서버 구성에 따라 달라질 수 있는 다양한 HTTP 메서드를 제어할 수 있는 이점도 있습니다.
HTML Form에서 GET/POST만 지원하는 이유와 같은 질문에서 관련된 토론을 확인할 수 있습니다. 이 질문에서는 HTML 폼이 기본적으로 GET과 POST만 지원하는 이유와 다른 메서드 사용을 위한 대안 등이 잘 설명되어 있습니다.
결론적으로, 추가 코드 작업의 번거로움도 이유가 될 수 있지만, 컨트롤 리소스를 사용하는 이유는 주로 이와 같은 여러 이점 때문입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.