IT-HONGREAT / django_food_project

꾸준히 공부하며 진행하는 사이드 프로젝트입니다.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FORM, Get&Post 개념

IT-HONGREAT opened this issue · comments

사용자가 입력한 데이터를 서버로 전송하기 위한 방식

CRUD 에서 조회는 보통 GET 방식, 나머지는 POST 방식으로 수행한다.

  • create가 이뤄지면 웹에서 사용자의 입력을 받고 서버로 보내주는 것 이다.

GET

클라이언트가 필요한 조회 상황이 생기면, 요청을 url의 쿼리스트링(query string)을 통해서 전달한다.

(검색이나 동영상 시청등의 조회)

POST

클라이언트가 서버에 요청을 보낼 때 데이터를 POST 메세지 안쪽에 담아 바로 노출되지 않는다.

(회원가입, 글쓰기, 동영상업로드, 게시글 수정이나 삭제 등)

form 이 처리되는 과정

예시 : 로그인 상황

  1. 클라이언트가 서버에게 페이지를 조회하는 요청을 보낸다. 이 때의 요청은 조회이므로 GET임.

    서버에서 응답으로 보여주는 것은 Unbound form 이다. 입력한 데이터가 없는 단순 작성란 정도 이기 때문.

  2. 클라이언트가 로그인 칸 (ID,PW)을 채우고 로그인버튼을 누르면 POST 방식으로 서버에 로그인 요청을 보낸다.

  3. 입력된 데이터 와 form 을 합치는 것을 '바인딩' 이라고 한다. 이렇게 합쳐진 폼을 bound form 이라고 한다.

  4. 만약 이 과정에서 데이터가 잘못 입력 되었으면, 다시 폼을 입력하게 서버에서 응답을 보낸다.
    데이터가 유효할 때 까지 2~4 가 반복

  5. 입력한 데이터를 토대로 로직을 수행한다. 데이터의 생성,수정,저장 등

  6. 서버에서 응답으로 새로운페이지를 안내하도록 한다.

End issue.