반응형

1. HTTP

: Web 상에서 Server와 Client가 Communication할 때 사용하는 Protocol

  • Header : 전송 Method (GET, POST, ...), Client의 Browser, URL 등
  • Body : 비어있거나 정보를 담아 Server에 요청

 

2. GET 방식

: 정보를 Server로 전송할 때 HTTP Packet Header의 URL 뒤에 Data를 기술해 전송하는 방식

 

2.1. 특징

  • 전송 시 HTTP의 Body 부분은 비어있다.
  • URL에 정보가 포함되어 있기 때문에 POST 방식에 비해 보안성이 떨어진다.
  • Data에 길이 제한(Borwser 마다 상이)이 있다.
  • Caching이 가능해 POST 방식에 비해 속도가 빠르다.
  • 게시판 글 등 처럼 정보의 목적으로 링크를 사용할 때 GET 방식이 사용된다.
    e.g., 게시판의 특정 글을 공유할 때 URL에 해당 글의 Index 등의 정보가 포함되어야 공유받은 사람이 링크를 클릭했을 때 해당 글로 바로 접근이 가능
Caching(캐싱)
한 번 접근 후 다시 요청되는 경우 빠르게 접근하기 위해 레지스터에 Data를 저장해두는 것

 

3. POST 방식

: 정보를 Server로 전송할 때 HTTP Packet Body 안에 Data를 기술해 전송하는 방식

 

3.1. 특징

  • Body에 정보가 포함되어 사용자 입장에서는 정보가 감춰지기 때문에 GET 방식에 비해 보안성이 좋다.
    ☞ Chrome 개발자 도구, Fiddler와 같은 Tool로 Data 확인이 가능해 보안성이 좋은 방식은 아니다.
  • Data에 길이 제한이 없다.
  • 요청받는 시간 제한이 있다.
  • 대용량 Data를 전송하거나 비밀번호 등 드러나면 안되는 정보를 전송할 때 POST 방식이 사용된다.

 

4. GET vs POST

  GET 방식 POST 방식
URL 예시 http://localhost:8888/login?id=jjyoung&password=0000 http://localhost:8888/login
Data 기술 장소 HTTP Packet Header HTTP Packet Body
리소스 전달 방식 쿼리스트링 HTTP Body
HTTP 응답 코드 200 201
URL에 Data 노출 여부 O X
Caching 가능 여부 O X
Browser 기록 여부 O X
북마크 추가 여부 O X
Data 길이 제한 여부 O X
멱등성(Idempotent) O X
멱등성(Idempotent)
: 연산을 여러 번 하더라도 결과가 달라지지 않는 성질

GET 방식 : 여러 번 요청해도 응답이 같다.
POST 방식 : 리소스를 새로 생성하거나 업데이트하기 때문에 동일한 요청을 여러 번 전송해도 응답은 항상 다를 수 있다.

 

[참고]

https://youtu.be/GVSsaTuQcsI

[네트워크] GET, POST 설명과 차이점 (tistory.com)

 

[네트워크] GET, POST 설명과 차이점

Get 방식 - 클라이언트에서 서버로 데이터를 전달할 때, 주소 뒤에 "이름"과 "값"이 결합된 스트링 형태로 전달 - 주소창에 쿼리 스트링이 그대로 보여지기 때문에 보안성이 떨어진다. - 길이에 제

superminy.tistory.com

[Network] GET방식과 POST방식의 차이 :: 코딩 공부 일지 (tistory.com)

 

[Network] GET방식과 POST방식의 차이

🚀 클라이언트는 인터넷 브라우저 주소창에 URL을 입력하고 서버는 클라이언트의 요청에 응답을 하여 웹페이지를 보여주게 됩니다. 이때 클라이언트가 서버로 보내는 데이터를 HTTP 패킷이라 하

cocoon1787.tistory.com

 

반응형

'CS기술 지식 > 네트워크' 카테고리의 다른 글

[네트워크] Physical Layer(물리 계층)란?  (0) 2022.03.23
[네트워크] OSI 7계층이란?  (0) 2022.03.20
[네트워크] RESTful이란?  (0) 2022.03.19
[네트워크] TCP vs UDP  (0) 2022.03.09

+ Recent posts