참조: https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC#
모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의
실무에 꼭 필요한 HTTP 핵심 기능과 올바른 HTTP API 설계 방법을 학습합니다., 웹 기술을 사용하는 개발자라면 누구나 OK!꼭 필요한 HTTP의 핵심을 알려드립니다. 📣 확인해주세요!본 강의는 자바 스
www.inflearn.com
우리는 인터넷을 사용하면서 네트워크를 사용해 통신한다.
네이버, 구글을통해 검색 요청을 하는것도 네트워크가 하는일이다.
그렇다면 실제로 어떻게 네트워크가 우리의 요청을 처리할까?
클라이언트가 어떠한 요청을 보냈을때, 인터넷에 속하는 노드들을 거치고 거쳐, 서버쪽으로 운반이된다.
하지만 , 수많은 클라이언트의 요청과 수많은 서버의 응답이 서로 얽히는 인터넷속에서 클라이언트와 서버는
어떻게 구별을할까?
여기서 등장하는게 IP다
클라이언트와 서버에 특정한 IP주소를 부여하여 데이터를 전달한다.
출발지 IP 100.100.100.1 과 목적지 200.200.200.2 를 설정하여 보낼 데이터를 전달하는데,
네트워크는 IP 패킷을 만들어서 보낸다.
IP패킷 은 마치 우리가 택배를 보내고 받을때 출발지와 목적지를 나타내는 전표를 붙여서
물건을 전달하는것과 흡사하다.
IP패킷 은 인터넷을 거쳐, 서버로 운반이된다.
반대로 똑같이 서버도 패킷을 만들어 클라이언트쪽으로 응답을 보내준다.
하지만 이런 IP에게는 한계점이 명확하다.
1.대상이 서비스가 불능일때 ,패킷 전송
만약 서버가 불능이거나, 서버 IP가 변경되엇을때 IP패킷이 서버에게 요청을하면
그냥 IP패킷을 보내 버린다. 서버가 패킷을 받을수있는지도 모르는데 말이다.
이렇게 되면 클라이언트는 서버가 불능인데 하염없이 응답이 올때까지 기다리고 있거나,
데이터는 실제로 보내지지도 않았는데, 본인은 보낸것처럼 착각을하게된다.
2.패킷이 소실될때
클라이언트와 서버가 온전하다고 가정할때,
인터넷으로 운반하는과정에, 운반하고있던 노드가 어떠한 문제가 발생하여 패킷이 소실될때가 있다.
IP는 이 패킷 소실을 보장해주지 못한다.
이 역시 1번과 같은 문제가 발생할수가 있다.
3.패킷의 전달 순서 문제 발생
클라이언트, 인터넷, 서버가 모두 정상이일때도 문제가 발생할수가 있다.
클라이언트가 서버로 보내는 데이터가 클때, 데이터를 분할시켜서 보내게되는데
인터넷에서 운반하는 과정에서 데이터 순서가 변할수 있다.
->그 이유는, 노드와 노드사이에 제일 빠르게 보내는 방법이 실시간으로 변하기 때문이다.
따라서 클라이언트는 Hello World를 보냈는데, 서버는 World Hello라는 잘못된 정보를 받을 수 있다.
-------------------------------------------------------------------------------------------------------
IP는 혼자쓰기 한계점이 분명하다.
따라서, IP와 더불어 TCP라는 전송 프로토콜이 존재한다.
이 TCP에 대해선 다음 포스팅에서 적어보도록 하겠습니다. 감사합니다.
'네트워크+HTTP' 카테고리의 다른 글
HTTP 표현 헤더 (0) | 2022.03.09 |
---|---|
HTTP 상태코드 (0) | 2022.03.09 |
HTTP 메소드 (0) | 2022.01.16 |
HTTP의 특징 (0) | 2022.01.13 |
네트워크 : TCP에 대하여 (0) | 2022.01.09 |