35일차 - <form action="" method=""></form>

김재령·2022년 2월 27일
0
<form action="파라미터를 전달받을 주소" method="파라미터를 전달하는 방식">
// method 안쓰면 default는 GET

GET : 폼을 제출하면 파라미터를 포함하여 GET방식의 새로운 요청을 만들어낸다
(파라미터를 쿼리스트링형태로 전달, 주소창을 통해서 전달)

POST : 폼을 제출하면 파라미터는 별도의 헤더를 통해서 전달
(request 해더의 form-data 영역으로 전달)
(주소창을 통해서 전달하는 방식이 아니므로, 글자를 전달하는 규칙(인코딩)이 달라질 수 있다)
<% request.setCharacterEncoding("UTF-8); %>
request.getParameter()를 호출하기 전에 위 코드가 있어야 한다 (한글자가 2바이트 이상인것들은 깨질 수 있다)

request.getMethod()
요청 방식에 따른 분류

GET vs. POST

GET (검색?)

  • 주소창을 통해서 파라미터를 전달한다
  • POST에 비해서 빠르다
  • 글자로 표현가능한 데이터만 전달할 수 있다(파일 전송 불가)
  • 글자수에 대한 제한이 있는 경우도 있다(최근 환경에서는 사실상 길이 제한은 거의 없음)
  • 용량 제한은 어느정도 있다
  • 자바스크립트를 통한 주소변경(location.href = 'http://egoing.net';), 태그를 통한 주소변경은 모둔 GET방식의 요청이다

POST (로그인, 파일 전송 경우에 사용)

  • 요청헤더의 form-data 영역에 파라미터를 담아서 전송한다(주소창을 통하지 않는다)
  • 비밀번호와 같이 보안상 민감한 데이터를 다룰때에는 글자로 구성된 데이터라고 해도, POST를 사용한다
  • 주소창에 노출이 되지 않을 뿐, 패킷을 열어보면 패스워드도 식별가능하다 (암호화로 보완 가능, HTTPS)
  • 데이터 자체가 암호화되는 것이 아니다 개발자도구로 들어가서 보면 다 확인할 수 있다
  • 파일 전송 가능(추가적인 속성을 작성해야 함)
profile
with me

0개의 댓글