[Network기초] 4. HTTP Socket
HTTP통신
- Client의 요청이 있을 때만 서버가 응답하여 해당 정보르 ㄹ전송하고 곧바로 연결을 종료하는 방식
- 클라리언트가 요청을 보낼 경우에만 서버가 응답하는 단방향적 통신
- 필요한 경우에만 서버로 접근하는 콘텐츠 위주의 데이터를 사용할 때 유용하다
HTTP통신의 특징
- Client가 요청을 보내는 경우에만 Server가 응답하는 단방향 통신이다
- Server로부터 응답을 받은 후에는 연결이 바로 종료된다
- 실시간 연결이 아니고, 필요한 경우에만 Server로 요청을 보내는 상황에 유용하다
- 요청을 보내 Server의 응답을 기다리는 어플리케이션(Android, iOS)의 개발에 주로 사용된다
Socket
- 소켓은 네트워크 상에서 서버와 클라이언트 두개의 프로그램이 특정 포트를 통해 양 방향 통신이 가능하도록 만들어주는 추상화된 장치
- 메모리의 유저 공간에 존재하는 프로세스(서버, 클라이언트)는 커널 공간에 생성 된 소켓을 통해 데이터를 송수신할 수 있다
- 소켓은 로컬IP주소, Port번호와 상대방의 IP주소와 Port번호 그리고 수신버퍼와 송
신버퍼가 존재한다
- 서버와 클라이언트의 소켓이 서로 연결된 후 데이터가 들어오면 수신버퍼로 수신 데이터가 쓰이고, 데이터를 내보낼 땐 송신버퍼에 데이터가 쓰인다
Socket통신
- 소켓은 네트워크 상에서 서버와 클라이언트 두개의 프로그램이 특정 포트를 통해 양방향 통신이 가능하도록 만들어주는 추상화된 장치
- 메모리의 유저 공간에 존재하는 프로세스(서버, 클라이언트)는 커널 공간에 생성된 소켓을 통해 데이터를 송수신할 수 있다
- 소켓은 로컬IP주소, Port번호와 상대방의 IP주소와 Port번호 그리고 수신버퍼와 송신버퍼가 존재한다
- 서버와 클라이언트의 소켓이 서로 연결된 후 데이터가 들어오면 수신버퍼로 수신 데이터가 쓰이고, 데이터를 내보낼 땐 송신버퍼에 데이터가 쓰인다
- Server와 Client가 특정 Port를 통해 실시간을 양방향 통신을 하는 방식
- HTTP통신과 달리 서버에서 클라이언트로 요청을 보낼 수 있다 (양방향)
- 실시간 통신이 필요한 경우에 자주 사용된다
Socket통신의 특징
- Server와 Client가 계속 연결을 유지하는 양방향 통신이다
- Server와 Client가 실시간으로 데이터를 주고받는 상황이 필요한 경우에 사용된다
- 실시간 동영상 Streaming이나 온라인 게임 등과 같은 경우에 자주 사용된다.