GET 방식 (엽서)
ex) http://news.naver.com/main/read.nhn?oid=003&sid1=102&aid=0008583498&mid=shm&mode=LSD&nh=20180508100426
가. http://news.naver.com/main/read.nhn? → 요청페이지
나. oid=079 & sid1=101 & aid=003098575 & mid=shm & mode=LSD & nh=201805080959934 → 전송
- GET 방식은 엽서를 보내는 방식과 유사한 전송 / 요청 방식
- 주소 + 데이터 (모두 노출)
- 전송할 데이터를 문자열 형태(Query String)로 URL 뒤에 인수로 붙여서 전송하는 방법(방식)이다.
- URL 뒤에 인수로 붙어 있는 내용을 누구나 볼 수 있고 이로 인해 보안성이 취약하다고 할 수 있다.
- 또한 GET 방식은 보낼 수 있는 데이터 량에 한계가 있기 때문에 (★ 현재에는한계가없다고본다)
많은 데이터를 보내는 경우 일정 크기 이상에서는 잘림 현상이 발생한다.
(길이 제한을 가진다는 의미이다. URL 최대 길이 2048 char)
- 특히나 <form> 태그에서의 GET 방식은 서버로 전송하는 과정에서 서버 처리가 지연될 경우
중복해서 요청이 이루어진다는 문제가 발생할 수 있다는 단점을 가지고 있다.
- 형식 및 구조
『URL주소?속성=데이터&속성=데이터&...』
『URL주소?name=value&tel=value&addr=value&...』
- GET 방식은 select 적인 성격(성향)을 가지고 있다. 서버에서 데이터를 가져와서 보여준다거나 하는 용도로 주로 사용한다.
서버의 값이나 상태를 바꾸는 용도로는 사용하지 않는다. 즉, 단순 페이지 요청에 많이 사용된다는 것이다.
- GET 방식의 장점은 여러 가지 형태를 통해 간편한 데이터 전송이 가능하다는 것이다. --★ 이것땜에 GET을 쓰게됨
POST 방식처럼 form 태그를 사용하여 전송도 하고, 링크에 직접 걸어 사용해도 되고, 주소창에 직업 입력해도 된다.
ex)
<a href="http://URL?키=값&키=값">
<form action="http://URL?키=값&키=값>
window.open(href="http://URL?키=값&키=값">;
window.location.href="http://URL?키=값&키=값";
window.location.replace=("http://URL?키=값&키=값");
POST 방식 (편지)
ex) http://localhost:8090/WebApp07/sendandreceive07.jsp
- 주소만 노출 / 데이터는 숨김
- <form> 태그에서 method 속성을 『"post"』로 설정해서 요청
- 파일의 형태로 전송되기 때문에 URL 상에서는 내용이 나타나지 않는다.
이로 인해 GET 방식에 비해 보안성이 높다고 할 수 있다.
- POST 방식은 HTTP Body 안에 숨겨져서 전송된다.
- GET 방식처럼 URL 뒷부분에 추가해서 보내는 것이 아니라 HTTP Body 안에 넣어서 보내기 때문에
GET 방식에서 발생할 수 있는 보안 문제를 어느 정도 해결할 수 있다.
- GET 방식에 비해 대용량의 대이터를 전송할 때 사용한다.
- <form> 태그를 이용해서 submit 하는 일반적인 형태가 POST 방식이다.
- POST 방식은 서버의 값이나 상태를 바꾸기 위해 주로 사용한다.
글쓰기를 하게 되면 글의 내용이 데이터베이스에 저장되고 수정을 하게 되면
데이터베이스에 수정된 값이 적용될 수 있도록 처리하는 구성인 것이다.
'Study Note > Html' 카테고리의 다른 글
톰캣이란 What is Tomcat? (0) | 2018.08.01 |
---|---|
○ Javascript 자바스크립트 개요 및 기본문법 (0) | 2018.05.24 |
○ CSS 선택자 구성 및 설정 & 선언 방법 (0) | 2018.05.24 |
HTML <!DOCTYPE> 표준안 정리 (0) | 2018.02.17 |
카페24 css 적용 안되는 이유와 해결방법 (1) | 2018.01.24 |
댓글