[Server] 데이터 입력 및 데이터 수신 과정 톺아보기
by 캐떠린GET vs POST 방식 비교
GET
- 형식:
http://~~/context root명/receive.do?name=hong&age=20
- 특징
- 입력한 데이터를 URL에 붙여서 전송하는 방식
- QueryString( == 파라미터들,
?
뒤에 있는 데이터를 뜻한다.)을 통해 데이터를 전송 - 넘겨지는 데이터의 인코딩의 URL 규칙에 따라 인코딩 된다.
- 톰캣(UTF-8) 담당
- 많은 양의 데이터를 전송할 수 없다.
- 브라우저 히스토리에 남는다.
- 암호 유출 가능성
POST
- 형식:
http://~~/context root명/receive.do
- 특징
- get 방식과 다르게 url 상에 노출 되지 않고 html 헤더 값에 같이 전송되는 방식
- 브라우저 히스토리에 남지 않는다.
- 패킷 본문(body) 안에 넣어서 전송
- 택배 상자 안에 넣어서 전송하는 방식
- 데이터 전송 시 정석 방식
- 자바를 통해서 데이터를 전송 → 인코딩이 자바를 통해서 진행된다.
- 브라우저(UTF-8) → 인터넷(ISO-8859-1) → 톰캣(UTF-8) → 자바JSP(UTF-8) 때문에 자바측에서 UTF-8로 인코딩 복구를 시켜야 한다. 이런 이유로 POST 방식으로 전달한 한글 값은 데이터를 받기 전에 인코딩 처리를 해줘야 한다. →
req.setCharacterEncoding("UTF-8");
💡 기본값(default: GET)이 설정되어 있어서 그동안 몰랐었지만, 서버한테 페이지를 요청할 때는 어떤 방식으로 요청할 것인지를 항상 정해야 한다.
❓ GET 방식 vs POST 방식 어떤 걸 사용해야 할까?
: POST를 사용한다. 나중에 GET을 써야하는 상황에는 GET을 사용하지만, 그 외의 상황이라면 일단 POST를 적는다.
Why? POST 방식이 데이터를 전송하는 표준적인 정석 방법이기 때문이다.
'Server' 카테고리의 다른 글
[Server] JSP에 대하여 (2) | 2023.10.30 |
---|---|
[Server] 정적 페이지 vs 동적 페이지 (2) | 2023.10.22 |
[Server] Servlet 관련 각종 Error Case (0) | 2023.10.22 |
[Server] Servlet(서블릿) (0) | 2023.10.22 |
[Server] 개발 환경 Setting :: Apache Tomcat, Eclipse (0) | 2023.10.22 |
블로그의 정보
All of My Records
캐떠린