1. 서버, 클라이언트
폼을 이해하기 위해서는 서버와 클라이언트 개념을 알아야 함.
서버는 정보를 제공하는 쪽이고, 클라이언트는 정보를 제공 받는다.
웹 브라우저는 주소 창에 http://naver.com 을 입력하면 웹 브라우저는 주소에 해당하는 컨텐츠를 컴퓨터에게 요청한다.
웹 브라우저는 정보를 요청하고 정보를 제공 받기 때문에 클라이언트가 되고, 주소의 컨텐츠를 제공하는 컴퓨터는 정보를 제공하기 때문에 서버가 된다.
2. 폼 (form)
폼이란 사용자의 데이터를 서버에 전송하는 방법이다.
일반적으로 아래와 같은 작업을 하기 위해 폼을 이용한다.
-로그인을 위해 아이디/비밀번호 입력
-회원가입을 위해 개인 정보 입력
-블로그나 게시판에 글을 작성하거나 파일을 전송
3. 문법
<form> 태그에 텍스트를 입력 받는 텍스트 필드나, 원하는 항목을 선택할 수 있는 라디오 버튼 등이 위치한다. 이러한 요소들을 컨트롤이라고 한다.
사용자가 컨트롤을 조작한 후에 전송 버튼을 누르면 <form> 태그의 속성인 action에 기술된 URL로 사용자가 입력한 정보를 전송한다.
서버는 이 정보를 받아서 저장하거나, 계산된 결과를 보여주는 작업을 한다.
<form action="사용자가 입력한 데이터를 전송할 서버의 URL" method="사용자가 입력한 데이터를 전송하는 방법">
텍스트 필드, 라디오 버튼, 체크 박스와 같은 컨트롤을 생성하는 태그
</form>
<form action="loginAction.jsp" method="post">
<h3 style="text-align: center;">로그인 화면</h3>
<div class="form-group">
<input type="text" class="form-control" placeholder="아이디" name="userId"
maxlength="20">
</div>
<div class="form-group">
<input type="password" class="form-control" placeholder="비밀번호"
name="userPassword" maxlength="20">
</div>
<input type="submit" class="btn btn-primary form-control" value="로그인">
</form>
4. GET과 POST의 차이점
(1) GET
-URL에 정보가 담겨서 전송된다.
-전송할 수 있는 정보의 길이가 제한된다.
-퍼머링크로 사용될 수 있다. = 정보를 식별하는 고유한 식별자(고유한 주소 체계)
(2) POST
-header의 body에 담겨서 전송된다.
-URL 상에서 전달한 정보가 표시되지 않는다.
-GET에 비해서 보안상 우위에 있지만 사실상 동일하다.
-전송할 수 있는 데이터의 길이 제한이 없다.
-퍼머링크로 사용할 수 없다.
-서버 쪽에 어떤 작업을 명령할 때 사용한다. (데이터의 기록, 삭제, 수정 등)