-
HTTP / 네트워크 기초 1CS&Network 2022. 6. 9. 18:52
클라이언트와 서버
- 클라이언트는 서버로 요청을 보내고, 서버는 요청에 따라 적절한 응답을 클라이언트로 회신합니다. 필요에 따라 서버는 데이터베이스에 요청을 보내고, 회신 받은 응답을 활용합니다.
- 서버는 클라이언트의 요청에 따른 정보를 응답하며 한번의 요청에 한번의 응답을 합니다.
API
API는 Application Programming Interface의 약자입니다.
여기서 인터페이스(Interface)는 무엇일까요?
인터페이스는 어떠한 두 가지가 서로 연결되고 영향을 미칠 수 있는 장소/방법/상황을 말합니다.
User Interface
흔히 많이 들어본 유저 인터페이스(User Interface)는 디지털 기기에 명령을 내리는 방법을 말합니다.
그럼 다시 돌아와서 API는 무엇일까요?
바로 응용프로그램 간에 데이터를 주고받는 방법을 말합니다.
특정 데이터를 제공하는 서버가 존재할 때 , 우리가 만든 프로그램이 서버에게 데이터를 요청할 수 있습니다.
이때 컴퓨터끼리 데이터를 주고받는 것이기에 양식이 필요합니다. 예를 들어 서버가 트래픽 과부하를 막기 위해 데이터 요청에 제한을 줄 수 도 있습니다. 이런 데이터요청 양식, 인증, 제한 등 응용프로그램 간 소통 방식을 API라고 부릅니다.
서버가 클라이언트에게 알려주는 사용양식 이라고 쉽게 생각할 수도 있습니다.
브라우저의 작동원리
URL은 Uniform Resource Locator의 줄임말로, 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타냅니다.
URL은 scheme, hosts, url-path로 구분할 수 있습니다.
URI는 Uniform Resource Identifier의 줄임말로, 일반적으로 URL의 기본 요소인 scheme, hosts, url-path에 더해 query, bookmark를 포함합니다.
URI의 구조는 다음과 같습니다.
scheme ://host[:port][/path][?query]
ex) http://IP주소:포트 /폴더이름/파일이름
(도메인주소) <= DNS를 통해 도메인주소를 IP주소로 바꿔줍니다.
IP & PORT
IP는 각각의 컴퓨터 기기가 서로 통신하기 위해 가지고 있는 네트워크 주소입니다. 컴퓨터는 IP주소라는 주소체계를 통해 컴퓨터를 식별합니다.
PORT는 IP주소가 가리키는 PC에 접속할 수 있는 통로(채널)을 의미합니다. 이미 사용중인 포트는 중복해서 사용할 수 없습니다. 만약 다른 프로그램에서 3000번 포트를 사용 중이라면, 다른 포트번호로 실행됩니다.
포트 번호는 0~ 65535 까지 사용할 수 있습니다. 그중에서 0 ~ 1024번 까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해져 있습니다. 반드시 알아야 할 잘 알려진 포트 번호는 다음과 같습니다.
- 22 : SSH
- 80 : HTTP
- 443: HTTPS
이미 정해진 포트 번호라도, 필요에 따라 자유롭게 사용할 수 있습니다.
Domain name & DNS
IP주소를 대신하여 사용할 수 있는 있는데 그것이 바로 도메인 이름(Domain name) 입니다.
터미널에서 도메인 이름을 통해 IP주소를 확인 할수도 있습니다. (명령어 nslookup)
DNS는 Domain Name System의 약자로, 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템입니다. IP 주소를 대신하여 도메인 이름을 입력했을때 해당 사이트로 이동하기 위해서는 해당 도메인 이름과 매칭된 IP 주소를 확인하는 작업이 반드시 필요합니다. 네트워크에는 이것을 위한 서버가 별도로 있는데 이를 DNS(Domain Name System)이라고 합니다.
도메인 주소는 오른쪽부터 왼쪽으로 최상위 도메인과 여러 개의 도메인으로 구성되어 있습니다. 탑 레벨 도메인(TLD)은 .com, .kr, .net 등 도메인의 가장 오른쪽에 위치하는 도메인입니다. kr, us와 같은 국가 코드를 사용하는 도메인은 co, ac와 같은 2단계 도메인과 함께 사용되기도 합니다. 서브 도메인(sub-domain)은 일반적으로 `www, m`과 같은 제일 왼쪽에 위치한 도메인들이 해당됩니다. 호스트 이름으로 불리기도 하는 서브 도메인은 웹 사이트의 특정 부분을 나눠서 보여줘야 하는 경우 사용합니다. `m(모바일)`, `www(기본)`, `store(스토어)`등의 도메인에 따라 사이트의 구성이 달라지는 것을 기억하면 쉽게 이해할 수 있습니다.
'CS&Network' 카테고리의 다른 글
Lighthouse (0) 2022.08.04 REST API란? (0) 2022.06.10 SSR vs CSR (0) 2022.06.10 AJAX 란? (0) 2022.06.10 HTTP/ 네트워크 기초 2 (0) 2022.06.10