HTTP / HTTPS / RESTful

작성일

Socket vs HTTP

Socket

Socket은 양방향 통신이다.
한번 연결에 성공하면, 연결이 계속 유지된다.
따라서, 연속적으로 데이터를 받아야하는 경우인 실시간 스트리밍, 채팅 같은 서비스에 사용이된다.

HTTP

단방향 통신이다.
HTTP 통신은 Client에서 데이터가 필요할때 마다
Server에게 요청하고, Server는 그 데이터를 응답하고 바로 연결이 종료되는 방식이다.

HTTP 메시지 구조

  • 요청, 응답 메시지로 나뉜다.
  • 라인, 헤더, 바디 세 부분으로 구성이 된다.

POST/GET

전송메서드는 이렇게 두개가 있다. 이둘의 차이점은

  • POST는 서버에게 동일한 요청을 여러 번 전송해도 응답은 항상 다를 수 있을 때 사용하는 것이다.
    게시글을 쓰고, 삭제하는 것 등등
  • GET은 서버에게 동일한 요청을 여러 번 전송하더라도 동일한 응답이 돌아와야할 떄 사용한다. 조회할때 주로 사용한다.

RESTful API

  • HTTP에서 데이터를 주고 받을 때, 간단히 주고 받자 해서 정의된 간단한 형식의 인터페이스이다.
  • [POST] POST를 통해 해당 URI를 요청하면 리소스를 생성합니다.
  • [GET] GET를 통해 해당 리소스를 조회합니다. 리소스를 조회하고 해당 도큐먼트에 대한 자세한 정보를 가져온다.
  • [PUT] PUT를 통해 해당 리소스를 수정합니다.
  • [DELETE] DELETE를 통해 리소스를 삭제합니다.

HTTP / HTTPS

차이점은 HTTP는 보안이 되어있지 않은 평문으로 데이터를 전송하는 것이고,
HTTPS는 보안이 된 패킷으로 암호화시킨 후 데이터를 전송시키는 것이다.