네트워크 전송에서의 Get / Post 방식

웹 페이지 실행과정

1.  사용자가 원하는 페이지로 이동하기 위해 URL을 브라우저 주소창에 작성

2.  Enter키 입력 시, Server 내부에서 Client(사용자)의 요청에 응답하기 위해 처리

3.  입력된 주소에 해당하는 웹 페이지를 Client(사용자)에게 화면으로 표현

 

 

 

용어 정리

  • HTTP(Hyper Text Tranfer Protocol) : 웹 클라이언트와 웹 서버간 전송을 위한 통신규약
  • 하이퍼 텍스트(Hyper Text) : 사용자가 원하는 부분을 비순차적으로 읽어내는 문서 형식

       (일반적인 Text의 경우, 위에서 아래로 순차적으로 읽어 내림)

 

 

Get / Post 방식은 HTTP 프로토콜에서 데이터 전송을 위해 지원하는 7가지 메소드 중 일부인 메소드이다.

사용한 메소드 방식의 종류에 따라 HTTP 패킷 구조의 Body 영역의 사용 유무 및 방법이 달라진다.

 

 

GET 방식(Method)

   URL에 Parameter를 붙여서 전송하는 방식

 http://bmind305.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F 

  • URL뒤에 ?를 사용하여 Parameter를 작성하고 &을 붙여 여러 Parameter를 구분하는 Query Stirng을 사용한다.

  • URL에 Parameter를 전송하기 때문에 body영역을 사용하지 않는다.

  • 또한 URL에 데이터를 실어 보내기 때문에 대용량 데이터 전송을 하기에는 제한이 있다.

  • 한번 요청시 URL포함 255자 까지 전송이 가능하며 HTTP/1.1 에서는 2048자 까지 가능하다.

  • 멱등적 설계로, 서버의 데이터나 상태를 변경시키지 않는 조회 시(웹페이지 방문, 특정 사용자 정보 조회)에만 사용

GET 방식의 HTTP 데이터 패킷 구조

Header Body
Method 방식 정보, 전송 방식, 요청 페이지 주소, 전송 데이터 X

 

 

 

POST 방식(Method)

   body영역에 데이터를 실어 보내는 방식

ex)

          HEADER 영역  

          Content-Type:application/json; charset=UTF-8

          .....

 

          BODY 영역

          { "param1":"value1", "param2":"value2" }

 

  • 데이터 전송양에 길이 제한이 없으며 대용량 데이터를 보내는데 적합

  • 또한 POST로 데이터를 전송할때에는 Body영역 데이터 타입을 Header Content-Type에 명시를 해줘야 한다.

  • POST방식은 GET방식과는 달리 보내는 데이터를 URL를 통해 볼 수 없어 보안적으로 안전하다.

  • 비멱등적 설계로, 서버의 상태나 데이터를 변경시킬 때 사용

POST 방식의 HTTP 데이터 패킷 구조

Header Body
Method 방식 정보, 전송 방식, 요청 페이지 주소 등 사용자가 요청한 데이터

 

'Network' 카테고리의 다른 글

Port 란?  (1) 2019.08.11
WAN 과 LAN  (0) 2019.07.27
사설 IP vs 공인 IP, NAT 방식  (0) 2019.07.15