
127
8
장
-
폼 처리
사용자에게서 정보를 받을 때는 보통
HTML
폼을 사용합니다. 브라우저에서 일반적 방법으로
폼을 전송하든,
AJAX
를 사용하든, 멋진 프론트엔드 컨트롤을 사용하든 간에, 근본적인 메커니
즘은 대부분
HTML
폼입니다. 이 장에서는 폼을 처리하고 유효성을 검사하며 파일을 업로드는
방법을 살펴봅니다.
8.1.
클라이언트 데이터를 서버로 보내기
클라이언트 데이터를 서버에 보내는 방법은 크게 말해 쿼리스트링과 요청 본문입니다. 일반적
으로 쿼리스트링을 쓸 때는
GET
요청을, 요청 본문을 쓸 때는
POST
요청을 사용합니다(
HTTP
프로토콜에 어떤 제한이 있는 건 아니므로 두 요청을 반대로 해도 안 될 건 없지만, 그렇게 할
이유는 전혀 없습니다. 표준 관행을 따르는 편이 가장 좋습니다).
POST
는 안전하고
GET
은 그렇지 않다고 오해하는 사람이 많은데 그렇지 않습니다.
HTTPS
를
쓰면 둘 다 안전하고, 쓰지 않으면 어느 쪽도 안전하지 않습니다.
HTTPS
를 쓰지 않으면 침입자
는
GET
요청의 쿼리스트링과 똑같이 쉽게
POST
본문의 데이터를 볼 수 있습니다.
GET
요청을 쓰
면 숨긴 필드를 포함해 사용자가 입력한 내용이 모두 쿼리스트링에 나타나는데, 보기도 좋지 않
고 문제도 많습니다. 또한 브라우저는 대개 쿼리스트링 길이에 제한을