GET / POST 방식

쪼경·2021년 7월 3일
0

get / post 방식


request - http 요청방식에 get/post가 있다.
해당 jsp 페이지가 servlet 파일로 변환되었을 때
post는 doPost()가 실행되며,
get은 doGet()이 실행된다.

이들은 파라미터 값(인자 값)을 어떠한 방식으로 다른 페이지에 전달할 것이냐 결정하는 역할을 한다.

1. get방식

  • 기본 요청 방식 (브라우저 주소창에 url찍는것)
  • 자원을 요청할 때 사용 (htm페이지, 동영상, 파일 ,게시판본문 , 뉴스 기사 목록,…)
  • 파라미터가 요청 url에 포함됨

ex) ~~/a/b.html?name=hong&age=10

  • 단점

    • URL은 길이 제한이 있으므로 대용량 파라미터 전송 불가.
    • 주소창에 파라미터가 보임. 옆 친구가 내 비번 볼 수 있음.
    • 보안 상의 문제가 생길 수 있음
    • get방식은 암호화가 되지 않고 넘어가기 때문에 보안에 취약함
    • 파라미터 암호화가 안됨.
  • DB에 값이 변동이 없을때 이용.

2. post 방식

  • client가 가진 정보를 서버에게 보낼 때 사용함
  <form action="목적지" method="post">

...이런식으로 사용한다.

  • 파라미터는 request패킷의 content 부분에 담겨 전송됨.

  • 장점

    • 파라미터 용량 제한 없음.
    • 주소창에 파라미터가 안보임
    • 옆 친구가 내 비번 볼 수 없음
    • 파라미터 암호화가 됨.
  • post 방식은 넘어가는 한글이 깨진다

    • 한글 안깨지게 설정하는 법
            <% request.setCharacterEncoding("UTF-8"); %>
            <!-- request 패킷의 contetn 인코딩을 utf-8로 변경 -->

여기서 잠깐!

doget만 만들어 놨다면, post방식으로 요청하면 반응이 안된다???

  • 회원가입, 글쓰기, 로그인 등등 DB에 값이 변동이 되는것들은 post 방식을 사용한다.

  • jsp 파일이라면 doGet이던, doPost이던 상관 없이 소화하지만, servlet이라면 doget만 만들어 놨다면, post방식으로 요청하면 반응이 안된다

  • jsp 파일은 _service 를 살펴 보면 GET / POST / HEAD 를 받을 수 있다고 나와있다. 하지만, 이 셋도 아니라면 exception을 터뜨리고 안넘어간다.




profile
[개발자] Lv.1

0개의 댓글