Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

Everything has an expiration date

07 [GET 방식과 POST 방식] 본문

[WebStudy] Concept

07 [GET 방식과 POST 방식]

Jelly-fish 2023. 12. 7. 17:41

■■■ GET 방식과 POST 방식 ■■■
데이터 전송 및 페이지 요청 방식



○ GET 방식

   ex) https://n.news.naver.com/article/094/0000011398?cds=news_media_pc&type=editn

       가. https://n.news.naver.com/article/094/0000011398 ? → 요청 페이지

       나. cds=news_media_pc & type=editn → 전송 데이터


   - GET 방식은 엽서를 보내는 방식과 유사한 전송 및 요청 방식
   - 주소 + 데이터 (모두 노출)
   - 전송할 데이터를 문자열 형태(Query String)로 URL 뒤에 인수로 붙여서
     전송을 수행하는 방법(방식)이다.
   - URL 뒤에 인수로 붙어있는 내용을 누구나 볼 수 있고
     이로 인해 보안성이 취약하다고 할 수 있다.
   - 또한, GET 방식은 보낼 수 있는 데이터 량에 한계가 있기 때문에(과거)
     많은 데이터를 보내는 경우 일정 크기 이상에서는 잘림 현상이 발생한다.
     (길이 제한을 가진다는 의미이다. URL 최대 길이 2048char)
   - 특히나 <form> 태그에서의 GET 방식은
     서버로 데이터를 전송하는 과정에서 서버 처리가 지연될 경우
     중복해서 요청이 이루어지는 문제가 발생할 수 있다는 단점을 가지고 있다.
   - 형식 및 구조
     『URL주소?속성=데이터&속성=데이터&...』
     『URL주소?name=value1&tel=value2&...』
   - GET 방식은 select 적 성격(성향)을 가지고 있다.
     서버에서 데이터를 가지고 와서 보여준다거나 하는 용도로 주로 사용한다. 
     서버의 값이나 상태를 바꾸는 용도로는 사용하지 않는다. 
     즉, 단순 페이지 요청에 많이 사용된다는 것이다.
   - 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:3306/WebApp05/jsptest005.jsp


   - 주소만 노출, 데이터는 숨김
     <form> 태그에서 method 속성을 "post" 로 설정해서 요청
     파일의 형태로 전송되기 때문에 URL 상에서는 내용이 나타나지 않는다.
     이로 인해 GET 방식에 비해 보안성이 높다고 할 수 있다.
     POST 방식은 HTTP body 안에 숨겨져서 전송된다.
     GET 방식처럼 URL 뒷부분에 추가해서 보내는 것이 아니라
     HTTP body 안에 넣어서 보내기 때문에 GET 방식에서 발생할 수 있는
     보안성 문제를 어느정도 해결할 수 있다.
     GET 방식에 비해 대용량의 데이터를 전송할 때 사용한다.
     <form> 태그를 이용해서 submit 하는 일반적인 형태가 POST 방식이다.
     POST 방식은 서버의 값이나 상태를 바꾸기 위해 주로 사용한다.  
     글쓰기를 하게 되면 글의 내용이 데이터베이스에 저장되고
     수정을 하게 되면 데이터베이스에 수정된 값이 적용될 수 있도록
     처리하는 구성인 것이다.