티스토리 뷰

Network

[네트워크] GET 과 POST의 차이

cherishee 2020. 9. 8. 12:32

HTTP

HTTP 는 HyperText Transfer Protocol 의 줄임말로 웹에서 클라이언트와 서버 사이에 데이터를 주고 받을 수 있는 프로토콜이다
HTTP Method로 2가지 방식이 있다. Get방식과 Post방식이다.

GET

데이터를 Http request Message의 Header 부분의 URL에 담아서 전송하는 방식이다. URL뒤에 ?를 사용해 끝을 알리고, key=value 로 데이터를 전송한다. 여러개의 key와 value를 보낼 때는 &를 사용한다.

특징은 다음과 같다.

  • URL에 담에서 데이터를 전송하기 때문에, 데이터 크기가 제한적이다.
  • URL에 데이터가 그대로 노출되기 때문에 보안에 취약하다.
  • 캐시가 가능하다. GET을 통해 서버에 데이터를 요청할 때, 웹 캐시가 요청을 가로채 서버로부터 데이터를 다시 다운로드하는 대신 데이터의 복사본을 반환한다.
  • 히스토리와 북마크가 가능하다.
  • SELECT와 같이 데이터를 요청할 때 사용한다.

POST

데이터를 Http request Message의 BODY에 넣어서 전송한다. 특징은 다음과 같다.

  • BODY에 넣어서 전송하기 때문에 대용량 데이터를 전송할 수 있다.
  • 데이터가 BODY안에 있기 때문에 GET보다 보안성이 좋다. 하지만 민감한 데이터는 따로 암호화를 해야한다.
  • INSERT, UPDATE 와 같이 데이터를 생성, 수정할 때 사용한다.
  • 'Conent-Type'을 명시해야한다.
    • application/x-www-form-urlencoded : BODY에key와value쌍으로 데이터를 넣는다. 똑같이 구분자 &를 쓴다.
    • text/plain : BODY에 단순 텍스트를 넣는다.
    • multipart/form-data : 파일전송을 할때 많이 쓰는데 BODY의 데이터를 바이너리 데이터로 넣는다는걸 알려준다.

 

출처

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함