브라우저에서 페이지 간에 정보가 요청되는 방식은 get방식과 post방식이 있다. html 문서에서 <form>태그에서 method속성을 통해 통신방식을 정하게 된다. 본론에 들어가기에 앞서 get방식은 url에 정보를 포함하여 통신하는 방식이고, post방식은 html 헤더에 정보를 포함하여 통신하게 된다.
GET
단순한 페이지 요청 및 간단한 파라미터 값을 전달하는 경우에 사용하는 방식이다. 필요한 데이터를 쿼리스트링을 통해 전달하게 된다. 즉 HTTP 요청주소값 뒤에 요청정보가 추가되는 방식이다. 자료 검색, 자료 상세페이지 등 데이터 검색에 적합하다
- 장점
- url이 동일하다면 동일한 정보를 조회할 수 있음 -> 정보 공유가 쉽다
- 단점
- 입력한 정보가 url에 담겨있음 -> 보안에 취약하다
- 바이너리 파일(이미자, 오디오, 동영상 등) 전송 불가
- 대량의 데이터 전송 불가
POST
전송될 데이터가 많을 때 쿼리스트링이 아닌 body에 같이 전송한다. 로그인 페이지, 회원가입 페이지, (parameter 가 많은) form 처리, (전송할 데이터가 많은) 게시판 페이지 등에 사용되는 전송 방식이다. post 방식의 경우에도 보안이 완벽한 것은 아니기 때문에 민감한 정보 처리시에는 암호화된 데이터 전송이 필수적이다.
- 장점
- 요청정보가 url이 아닌 헤더값에 포함된다. 정보가 노출되지 않는다
- 바이너리 파일, 대량의 데이터 등 전송 가능
- 단점
- url에 데이터가 담기지 않기 때문에 정보 공유가 어렵다
'웹 개발 > 개념 정리' 카테고리의 다른 글
HTTP 내용 필기 (0) | 2021.10.21 |
---|---|
내 IP 확인하기 - 사설ip와 공인ip, ip로 위치조회 (0) | 2021.07.30 |
[Java 웹개발] HttpServletRequest 객체에서 url 매핑경로 알아내기 (0) | 2021.07.21 |
[Java 웹개발] 서블릿에서 특정 페이지로 이동하기(dispatcher, redirect) (0) | 2021.06.26 |
[Java 웹개발] 웹 서버, 웹 컨테이너, 애플리케이션 서버, 웹 애플리케이션 서버(WAS)란 (0) | 2021.06.17 |