안녕하세요! 🙂
으음….제가 사실 백엔드 과정을 하면서 그안에 네트워크에 관한 교육과정이 없다보니
그점이 너무 아쉬워서, 혼자 공부하고 기록하고자 network라는 카테고리를 하나 만들어 꾸준히 리포트 하고자 합니다!
What is Network AND HTTP?
일단 네트워크와 HTTP를 한꺼번에 알기전에 인터넷 통신의 제일 기초인 “네트워크”라는 개념부터 잡고 넘어가겠습니다!
Net + work
말 그대로 두개의 단어가 붙여져서 만들어진 합성어 입니다.
통신기술을 이용하여 그물망 처럼 연결된 통신 이용 형태를 “네트워크”라고 부릅니다!
쉽게 말하자면, 각종 통신 장비들(컴퓨터)이 서로 연결되어 데이터를 교환하는 통신망이라고 할 수 있습니다.
즉, 2대 이상의 통신장비들을 연결하여 서로 통신 할 수 있는것을 의미합니다.
데이터 통신
앞서 “데이터 통신” 이라는 말이 많이 나왔는데요.
여기서 말하는 “데이터 통신”이란 컴퓨터와 컴퓨터가 주고 받는 것을 의미합니다.
서로 데이터 통신이 가능하기 위해서는 기기와 “프로토콜”이 필요하게 되고, 여기서 말하는 기기는 컴퓨터, 통신매체가 대표적으로 있습니다.
그렇다면 프로토콜이란? ⇒ “데이터 통신상의 규칙” 을 의미하는데,
현재 전세계에서 사용하는 이 규칙이 바로 “HTTP” 프로토콜 입니다!!
HTTP Protocal
HTTP (Hypertext Transfer Protocol)은 웹개발 하시는 분들은 솔직히 누구다 한번쯤은 들어봤고 알아야 하는
통신 프로토콜입니다 ….위에서 프로토콜에 대한 설명이 없었는데, 프로토콜 이란!
상호 간에 정의한 규칙을 의미하며 특정 기기 간에 데이터를 주고받기 위해서 정의된 규칙입니다.
쉽게 말해서 “내가 이렇게 줄게 너는 이렇게 받아, 너가 그렇게 주면 나는 그렇게 받을게” 와 같은 약속인겁니다!
웹에서는 브라우저와 서버 간에 데이터를 주고받을때 HTTP 프로토콜 방식을 사용하고 있으니 무.조.건 기본적으로 알아야 한다는거죠!
특징, 장점:
- 상태 정보를 따로 저장하지 않는다. Stateless 하다.
- 클라이언트의 요청에 맞는 응답을 보내고 연결을 끊는다. Connectionless하다.
- 다수의 요청을 처리하면서 서버의 부하를 줄일 수 있는 성능 상의 이점이 있다.
단점:
- 이전 요청에 의한 통신 정보를 모르기 때문에 같은 요청을 필요로 해도 매번 요청을 해줘야 합니다.
- 이러한 단점을 해결하기 위해 쿠키, 세션을 사용하여 데이터를 처리합니다.
번외.
이전 요청에 대한 통신 정보를 모르는게 뭔말인지 모르겠다고요? 예를 들어서 보여드리겠습니다 !
A : 자전거 사려합니다.
B : 자전거 커스텀 재료를 골라주세요
A : 휠은 검정색, 핸들은 검정색, 바디는 흰색, 안장은 흰색으로 해주세요.
B : 예?
A : 집으로 보내주세요.
B : 예? 집으로 뭘 보내요?...
A : 카드로 결제할게요
B : 예? 뭘 결제해요?...
이해가 가시나요?…..
첫번째 요청에 대해서 알맞는 응답을 보냈습니다.
하지만 두번째 요청은 첫번째 요청의 응답에 맞게 요청을 한것이니,
첫번째 요청에 의한 응답의 정보를 가지고 있어야지 두번째 요청을 이해하고 응답을 해줍니다.
즉. 이전 요청에 대한 통신 정보를 모르니! 위와 같은 방식이 작동 불가한다는 뜻입니다.
'Network' 카테고리의 다른 글
로드벨런싱이란? 개념과 특징 (Feat. L4 LB, L7 LB) (0) | 2023.02.14 |
---|---|
웹소켓 Web Socket 이란?... (0) | 2023.01.20 |
쿠키, 세션 (Cookie, Session) 는 뭐지? 어디서 많이 들어봤는ㄷ..ㅔ (0) | 2023.01.16 |