프리랜서 웹디자이너 웹퍼블리셔RELATION

RELATION 로고

홈페이지 소스

[HTML] FORM GET,POST 방식의 차이

2017.11.07
북마크 작성자 정보
Get 방식
- 모든 파라미터는 URL 에 query string 형식으로 전달됩니다.
- 파라미터값이 길어질수록 URL 이 길어지므로 값의 길이에 제한이 있구요.
- URL 형식에 맞지 않는 파라미터 이름, 값은 encoding 되어야 할 필요성이 있습니다.
- 또, 요청 URL에 text 형식으로 포함 되므로, 웹브라우저 사용자의 눈에 직접적으로 표시 될 수 있습니다.
- 사용자의 눈에 직접적으로 표시 되기 때문에, 로그인 비밀번호등의 정보를 (아무런 encoding, encryption 없이) get 방식으로 전달 하면 문제가 발생 할 가능성이 있습니다.
- 위에 기술된 항목들 때문에, 단순한 페이지 요청에 많이 쓰입니다.


Post 방식
- 모든 파라미터는 HTTP Body 에 포함되어 전달됩니다.
- Body 에 포함되어 전달되므로, 길이에 제한이 없구요.
- encoding 의 필요성이 Get 방식 보다는 낮습니다만, 비 영어권 환경이나 특수한 파라미터가 전달 될대는 encoding 이 필요 합니다.
- Http Body 에 포함 되므로, 웹브라우저 사용자의 눈에 직접적으로 표시 되지 않습니다.
- 사용자의 눈에 직접적으로 표시 되지 않기 때문에 사용자가 원하지 않는 정보가 서버로 전달 될 가능성이 있습니다.(하지만 사용자가 입력하지 않는 정보가 전달될 가능성은 거의 없습니다.)
- 위 이유 때문에 대부분의 웹브라우저에서는 post 방식의 요청에 대한 응답 페이지를 새로고침으로 요청 할때는 경고창을 통해서 사용자에게 정보 전송에 대한 confirm 을 받습니다.
- 사용자의 눈에는 직접적으로 표시 되지 않는다고 하더라도, http response message 를 분석 했을때는 얼마든지 유출 될수 있으므로, 단순하게 post 방식을 썼다고 해서 보안성이 높아지는 것은 아닙니다.
- 위에 기술된 항목들 때문에, 서버로 데이타 전송을 할 목적으로 많이 사용 됩니다.

이 포스트 공유하기

전체목록