용어정리

[네트워크] GET방식과 POST방식

nidoos 2021. 5. 26. 09:54
HTTP(Hypertext Transfer Protocol)
- 하이퍼텍스트 전송규약
- 클라이언트와 서버간 데이터를 전송하는 프로토콜
- HTTP 통신할 때 보내는 데이터는 HTTP 패킷이라한다.
- 패킷의 구조 = 헤더+ 바디
- 헤더 : 클라이언트 정보, 브라우저 정보, 접속할 url 등 클라이언트 정보 담는다.
- 바디 : 특정 데이터를 담아 서버에게 요청을 보낸다. 메소드 방식에 따라 사용 방법 달라진다.

GET방식

  • 클라이언트의 데이터의 파라미터를 url 뒤에 붙여 보낸다.
  • ex) www.abcd.com/topic?id=1234&name=val   key : id , name / value : 1234, val
  • 요청을 전송할 때 필요한 데이터를 쿼리스트링을 통해 전송
  • ?를 사용하여 파라미터 작성. &를 사용하여 여러개의 파라미터 구분
  • url에 파라미터를 전송하기 때문에 헤더에 포함되며 바디영역 사용하지않는다.
  • 보통 서버로부터 정보를 조회할 때 사용
  • 보안에 취약. 캐시 가능
  • 브라우저 히스토리에 남는다.
  • url에 데이터를 보내기 때문에 대용량 데이터 전송하기 힘들다.
  • url 포함 255자까지 가능
  • idemptent : 여러번 적용하더라도 결과값이 바뀌지않는다.
  • 서버에서 데이터를 가져와 보여주는 것. 서버 상태변화 없다. select에 가깝다.

 

POST방식

  • 데이터 전송을 기반으로 한 요청 메소드
  • url에 붙이지 않고, 바디 영역에 데이터를 보낸다.
  • 데이터 전송양 제한 없으며 대용량 데이터 보내는데 적합.
  • 서버의 상태나 데이터를 변경시킬 때 사용. create에 가깝다.
  • 생성, 수정, 삭제에 사용가능
  • 캐시불가능
  • 브라우저 히스토리에 남지 않는다.
  • non-idempotent : 결과값이 바뀌는 유형의 개발에 적합