오늘부터 HTTP 에 대해 공부하고, 공부한 내용을 기술해보려고 합니다.
HTTP 는 주소창에 있는 것만 보았지, 어떤 것인지에 대한 개념이 전혀 없기 때문에
"모든 개발자를 위한 HTTP 웹 기본 지식" 이라는 강의를 통해 배워보려고 하는데요.
https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/dashboard
모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의
실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술
www.inflearn.com
때문에 제가 쓰는 글에서도 대부분 강의의 내용을 포함하고 있습니다.
다음 강의는 항해99 프로그램에 들어가기 전 면접을 볼 당시에
면접관님께서 추천해주신 강의로 '인프런' 이라는 교육 플랫폼에서 들었습니다.
IP 란?
이전 글에 이어서 복잡한 인터넷 망 속에서 미국에 있는 친구에게 보내야 합니다. 그러기 위해선 최소한의 규칙이 있어야겠죠?
그게 바로 'IP 주소' 라는 것입니다.
IP(Internet Protocol) 란 인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비, 스마트폰 등)을 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소를 말합니다.
A(클라이언트) 가 IP 주소를 부여받아야 합니다. A 가 받은 IP 주소가 100.100.1001 이라고 가정하고,
메시지를 받는 B(서버) 도 IP 주소를 갖고 있어야 합니다. B 의 IP 주소는 200.200.200.2 라고 가정하겠습니다.
IP 의 역할
IP 패킷
방금 지정한 IP 주소를 전달할 수 있도록 정해놓은 규칙입니다.
IP 의 역할은 지정한 IP 주소(IP Address) 에 데이터를 전달하는데, 패킷(Packet) 이라는 통신 단위로 데이터를 전달합니다.
하지만, 데이터를 전달할 때 단순히 메시지만을 보내는 것이 아니라 출발지 IP, 목적지 IP 등을 포함하고 있는 'IP 패킷'이라는 규칙을 덮은 채 전달하게 됩니다.
클라이언트 패킷 전달
그렇게 되면 첫번째로 출발지 IP, 목적지 IP 인 IP 패킷을 담은 데이터를 인터넷 망에 보내게 됩니다.
IP 패킷을 확인한 인터넷 망은 정해직 규칙에 따라 목적지 IP 가 있는 서버로 무사히 데이터를 보낼 수 있게 되는 거죠.
IP 프로토콜의 한계
하지만 이러한 IP 프로토콜의 한계가 3가지 있습니다.
1. 비연결성
"미국에 B 가 있겠지" 라고 전달했지만, B 의 컴퓨터는 꺼져 있을 수도 있지만, 우편을 보내는 것처럼 상대방이 있든 없든 일방적으로 데이터를 보내게 됩니다.
그래서 패킷을 받을 대상이 없거나, 서비스가 불능인 상태에도 보내지만, 보낸 클라이언트는 알 수 없습니다.
2. 비신뢰성
데이터를 담은 패킷을 보냈지만, 패킷이 사라졌거나, 또는 패킷을 여러 개 보냈을 때 순서대로 도착하지 않을 경우도 있습니다.
이러한 점 또한 해결이 되지 않습니다.
3. 프로그램 구분
요즘은 한 컴퓨터에서 음악도 듣고, 게임도 같이 동작할 수 있습니다. 한 컴퓨터니 당연히 IP 주소는 하나입니다.
이때 같은 IP 를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면 누가 음악을 듣고, 누가 게임을 하는지 이들을 구분지을 수가 없다는 점이 있습니다.
'모든 개발자를 위한 HTTP 웹 기본 지식' 카테고리의 다른 글
PORT (1) | 2023.12.19 |
---|---|
TCP, UDP (0) | 2023.12.18 |
[인터넷 네트워크] 인터넷 통신 (0) | 2023.08.07 |
HTTP 공부를 하는 이유? (0) | 2023.08.07 |