Go Web Programming: [04/00] HTTP Form

HTTP Form

Form은 Web 응용 프로그램을 작성할 때 가장 자주 사용되는 도구 입니다.
Form을 통해서 편리하게 사용자가 서버와 데이터를 교환 할 수 있습니다.
만약 Web 개발을 해본적이 있다면 Form은 매우 익숙할 것입니다.
그러나 C/C++ 프로그래머라면, 낯설고 이해하기 힘든 용어일 수도 있겠습니다.

이제 Form에 대해서 알아보도록 하겠습니다.

Form은 양식 테이블 요소를 포함하고 있는 영역 입니다.
폼 항목은 사용자로부터 Form의 여러가지 기능을 이용해서(예를 들어, 텍스트 필드, 콤보 상자,
체크 박스, 셀렉트 박스 등) 정보를 입력할 수 있는 기능을 의미 합니다.

폼은 폼태그 (<form>)로 정의 합니다.

<form>
...
    input 요소
...
</form>

Go언어는 Form을 처리할수 있는 여러가지 손쉬운 처리 방법을 기본적으로 제공하고 있습니다.
Request 패키지에서 제공하는 Form을 처리하는 메소드를 이용해서 쉽게 Web개발을 할 수 있습니다.

4.1 절에서는 Go언어에서 사용자가 입력한 양식을 어떻게 처리하는지를 설명 합니다.
또한, 사용자가 입력한 어떠한 내용도 신뢰할 수 없을 수 있으므로, 이러한 사용자의 입력에 대하여 검증을
실시 할 필요가 있습니다. 4.2절에서 이것에 대해서 설명 합니다.

HTTP 프로토콜은 연결지향적인 프로토콜이 아닙니다.(접속하면 곧바로 접속을 해제해 버립니다)
그런데 어떻게 여러명의 사용자를 구별할 수 있는것 일까요? 또한 폼이 여러 번 전송되는 상황을 어떻게
방지하는 것일까요? 4.3절과 4.4절에서 cookieHTTP Header를 설명 합니다.

Form의 또 다른 장점은 파일을 업로드할 수 있다는 것입니다.
Go언어에서는 파일 업로드를 어떻게 처리하고 있을까요? 대용량 파일을 업로드 할 때 효율적으로
처리하려면 어떻게 처리하면 좋을까요? 4.5 절에서 Go 언어의 파일 업로드 처리방식을 설명 합니다.