클라이언트와 서버가 서로 HTTP라는 프로토콜을 이용해 대화를 나눈다. 이 메시지를 HTTP 메시지라 부른다.
카페를 예를 들면 커피를 주문하는 방법은 카운터, 키오스크, 모바일 앱 이용같은 방법들이 있는데,
이 방법들 하나하나가 프로토콜이다.
HTTP(Hyper Text Transfer Protocol)는 텍스트 기반 통신 규약으로
링크를 통해 자유롭게 이동가능한 문서형태이다.
서버는 클라이언트에게 리소스를 잘 활용할 수 있도록 인터페이스(interface)를 제공해야 하는데, 이것을 API(Application Programming Interface)라고 한다.
예시로 점원이 손님의 주문을 받아 요리사에게 주문 내용을 전달한다.
이 때 API가 가게의 점원 역할을 한다.
손님과 요리사를 서버라 한다면 API는 중간에서 양쪽의 서버를 연결해 준다.
URL(Uniform Resource Locator)은 네트워크 상에서 웹 페이지, 이미지, 동영상 등 파일이 위치한 정보를 나타낸다. scheme, hosts, url-path로 구분할 수 있다.
URI(Uniform Resource Identifier)는 일반적인 URL의 기본 요소(scheme, hosts, url-path)와 query, fragment를 포함한다.
부분 | 명칭 | 설명 |
---|---|---|
file://, http://, https:// | scheme | 통신 프로토콜 |
127.0.0.1, www.google.com | hosts | 웹 페이지, 이미지, 동영상 등의 파일이 위치한 웹 서버, 도메인 또는 IP |
:80, :443, :3000 | port | 웹 서버에 접속하기 위한 통로 |
/search, /Users/username/Desktop | url-path | 웹 서버의 루트 디렉토리로부터 웹 페이지, 이미지, 동영상 등의 파일이 위치까지의 경로 |
q=JavaScript | query | 웹 서버에 전달하는 추가 질문 |
IP(Internet Protocol)란 인터넷상에서 사용하는 주소 체계를 의미한다.
인터넷에 연결된 모든 PC는 IP주소체계를 따라 네덩이의 숫자로 구분된다. 이를 IPv4라 한다.
IPv4는 Internet Protocol version 4의 줄임말로, IP 주소체계의 네 번째 버전을 뜻한다.
IPv4는 각 덩어리마다 0부터 255까지 나타낼 수 있다. 이는 2^(32)인 약 43억개의 IP 주소를표현할 수 있으며, 다음과 같은 IP주소는 기억해두자.
현재 사용 중인 로컬 PC를 지칭합니다.
broadcast address, 로컬 네트워크에 접속된 모든 장치와 소통하는 주소입니다. 서버에서 접근 가능 IP 주소를 broadcast address 로 지정하면, 모든 기기에서 서버에 접근할 수 있습니다.
IPv6는 IPv4의 주소부족 문제를 해결하기 위해 만들어졌다.
IPv6는 2^(128)개의 IP 주소를 표현할 수 있다.
PORT란 컴퓨터가 각종 신호, 정보 등을 주고 받을 수 있도록 해주는 통신 통로이다.
컴퓨터 안에서 프로그램을 찾기 위한 수단이며 16비트로 된 숫자다.
포트 번호는 0~65535까지 사용할 수 있다.
그중에서 0~1024번 까지 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해졌다.
Domain name은 네트워크 상에서 컴퓨터를 식별하는 호스트 명을 가리킨다.
숫자와 구분자(.)로 구성된 IP를 대신해 사용자가 기억하기 쉬운 Domain name이 등장했다.
Domain name은 다음과 같이 구성되어 있다.
Top-level
에 com
은 상업적인 목적의 도메인을 뜻한다.
국가를 뜻하는 kr
이나 공인된 단체를 뜻하는 org
등이 있다.
DNS(Domain Name System)는 Domain Name을 통해 IP를 확인하는 작업을 뜻한다.
클라이언트와 서버는 서로 HTTP라는 프로토콜을 이용해 대화를 나눈다.
손님과 요리사를 서버라고 하면 그 둘을 연결하는 점원은 API다.
IP = 집주소 , PORT = 각 상세주소
DNS = 인터넷 전화번호부