본문 바로가기

웹 개발/개념 정리

[Java 웹개발] get방식, post방식

브라우저에서 페이지 간에 정보가 요청되는 방식은  get방식과 post방식이 있다. html 문서에서 <form>태그에서 method속성을 통해 통신방식을 정하게 된다. 본론에 들어가기에 앞서 get방식은 url에 정보를 포함하여 통신하는 방식이고, post방식은 html 헤더에 정보를 포함하여 통신하게 된다.

GET

단순한 페이지 요청 및 간단한 파라미터 값을 전달하는 경우에 사용하는 방식이다. 필요한 데이터를 쿼리스트링을 통해 전달하게 된다. 즉 HTTP 요청주소값 뒤에 요청정보가 추가되는 방식이다. 자료 검색, 자료 상세페이지 등 데이터 검색에 적합하다

  • 장점
    • url이 동일하다면 동일한 정보를 조회할 수 있음 -> 정보 공유가 쉽다
  • 단점
    • 입력한 정보가 url에 담겨있음 -> 보안에 취약하다
    • 바이너리 파일(이미자, 오디오, 동영상 등) 전송 불가
    • 대량의 데이터 전송 불가

POST

전송될 데이터가 많을 때 쿼리스트링이 아닌 body에 같이 전송한다. 로그인 페이지, 회원가입 페이지, (parameter 가 많은) form 처리, (전송할 데이터가 많은) 게시판 페이지 등에 사용되는 전송 방식이다. post 방식의 경우에도 보안이 완벽한 것은 아니기 때문에 민감한 정보 처리시에는 암호화된 데이터 전송이 필수적이다.

 

  • 장점
    • 요청정보가 url이 아닌 헤더값에 포함된다. 정보가 노출되지 않는다
    • 바이너리 파일, 대량의 데이터 등 전송 가능
  • 단점
    • url에 데이터가 담기지 않기 때문에 정보 공유가 어렵다