8-3: http 프로토콜

JJeong·2021년 1월 27일
0

애플리케이션 레벨의 프로토콜로 서버-클라이언트 모델을 사용하며 TCP/IP 기반으로 작동한다. 일반적으로 포트 번호 80을 사용한다.

  • 클라이언트 : Request
  • 서버: Response


  • GET 메서드는 참조에만 사용한다.
  • GET 메서드는 부작용이 발생하지 않음을 기대한다.
  • 중요 정보를 전송할 때는 POST 메서드를 사용한다.

GET은 요청을 해도 원본 데이터의 변화를 가져오지 않아야 합니다. 반면 POST는 요청을 통해 데이터 CRUD가 이뤄질 수 있습니다. 이와 같이 원본 데이터의 변화를 부작용(취득 이외의 행위)라고 할 수 있습니다. GET 메서드는 URL을 통해 쿼리스트링으로 데이터가 전달됩니다. 브라우저 및 서버는 최대 URL 길이 제한이 있기 때문에 큰 데이터는 GET을 통해 전달할 수 없습니다.

그렇기 때문에 아래 중 한 가지의 사안이라도 걸리는 경우 GET보다 POST를 사용하는 게 적합합니다.

  • 데이터 생성, 변경 등 원본 파일의 수정이 발생하는 경우
  • 보안 상으로 중요한 정보를 전달할 때
  • 전송 데이터의 양이 많을 때

POST로 전달되는 데이터도 URL에 노출만 안될 뿐 똑같이 쉽게 확인할 수 있습니다. 개발자 도구만 켜서 네트워크 탭에서 클릭해보면 body 데이터를 확인할 수 있기 때문입니다. 그렇기 때문에 POST로 전달할 때 많은 데이터들이 암호화된 상태로 전송됩니다.

0개의 댓글