
141
8
장
폼 처리
사용자에게서 정보를 받을 때는 일반적으로
폼
을 사용합니다. 브라우저에서 폼을 직접 전송하
든, 에이잭스를 사용하든, 멋진 프런트엔드 메커니즘을 사용하든지와 관계없이 그 기반이 되는
메커니즘은 일반적으로
HTML
폼입니다. 이번 장에서는 폼을 처리하고, 유효성을 검사하고,
파일을 업로드하는 방법을 설명합니다.
8.1
클라이언트 데이터를 서버에 전송하기
넓게 말해 클라이언트 데이터를 서버에 보내는 방법에는 쿼리스트링과 요청 바디 두 가지가 있
습니다. 일반적으로 쿼리스트링을 사용할 때는
GET
요청을, 요청 바디를 사용할 때는
POST
요
청을 사용합니다.
HTTP
프로토콜에서 이렇게 하라고 강제하는 것은 아니지만 다른 방법을 쓸
이유도 없습니다. 표준을 따르는 것이 가장 좋습니다.
POST
는 안전하고
GET
은 안전하지 않다는 오해가 널리 퍼져 있지만, 그렇지 않습니다.
HTTPS
를 사용하면 둘 다 안전하고, 사용하지 않으면 둘 다 안전하지 않습니다.
HTTPS
를 사용하지
않으면 침입자는
GET
요청의 쿼리스트링을 보는 것과 마찬가지로 쉽게
POST
요청의 바디를 볼
수 있습니다. 그 밖에도
GET
요청을 사용하면 숨은 필드를 포함해 사용자가 입력한 필드 전체
가 쿼리스트링에 나타나므로 무척 지저분해 보입니다. 또한 브라우저는 보통 쿼리스트링 ...