Interview
IP 프로토콜의 한계
- IP 프로토콜은 복잡한 인터넷 망 속 수많은 노드들을 지나 클라이언트와 서버가 정확하게 데이터를 전달하고 무사히 통신할 수 있게 해준다.
- IP 패킷에는 데이터를 무사히 전송하기 위한 출발지 IP, 목적지 IP와 같은 정보가 담겨있다.
- IP 프로토콜은 비연결성이기 때문에 서버의 상태를 파악할 수 없으며, 서버가 데이터를 받지 못 하는 상황에서도 패킷을 그대로 전송한다는 한계가 있다.
- 또한 중간에 패킷이 소실되어도 이를 파악할 수 없으며, 패킷이 여러 노드들을 거치며 클라이언트가 의도하지 않은 순서로 서버에 도착할 수 있다는 한계가 있다.
HTTP 프로토콜 특징
Client-Server 구조
- Server와 Client가 각각 독립되어 있다.
- Client는 Server에 요청을 보내고 응답이 올 때까지 대기하고, Server는 Client에서 받은 요청에 대한 결과를 만들어 응답한다.
- Request-Response와 같은 구조를 가진다.
- Server에서 로직과 데이터를 Client에 독립적으로 처리할 수 있도록 만들기 때문에 독자적으로 발전할 수 있다.
무상태성
- 서버가 클라이언트의 상태를 저장하지 않는다는 것인데, 같은 Client에 대해 항상 같은 Server가 연결되어 있어 대답해야 Client의 상태를 보존할 수 있다.
- 하지만 항상 같은 서버를 이용할 수 없기에 Request에 추가 데이터를 지속적으로 보내야 한다는 문제점이 있다.
비연결성
- 서버는 요청을 보낸 후 연결을 종료하여, 서버 유지에 대한 자원을 감소시켜 자원을 보다 효율적으로 사용할 수 있다.
단순/확장 가능
- 사용을 안 할 때는 연결을 바로 끊어버리고, 클라이언트의 상태를 저장하지 않기 때문에 단순하며, 이러한 과정때문에 성장 또한 가능해왔다.