서버개발 SpringBoot

Linux / URL / Domain / Name Server / Sub Domain / Redirection

아뵹젼 2022. 4. 7.

Linux 

- Linux는 Unix 운영체제를 기반으로 만들어진 운영체제로 유닉스 클론 운영체제라 할 수 있다.Unix와 마찬가지로 다중 사용자, 다중작업 다중 스레드를 지원하는 네트워크 운영체제를 의미한다.
또한 Unix가 애초부터 통신 네트워크를 지향해 설계된 것 처럼 Linux 역시 서버로 작동하는데 최적화 되어있다. 또한 Linux는 자유 소프트 라이센스로 누구나 소스코드를 활용, 수정 및 재 배포가 가능해서 지속적인 업그레이드가 이루어진다.

- 리눅스는 크게 커널, 셸, 디렉토리 3가지로 구성되어 있다.

커널(kernel)

커널은 운영체제의 핵심으로 메모리 관리, 프로세스 관리, 장치 관리 등 컴퓨터의 모든 자원을 초기화하고 제어하는 기능을 수행한다.

쉘(shell)

사용자가 입력한 문장을 읽어 요청을 실행하고, 커널이 명령어를 해석해 결과를 수행한 후 결과를 다른 프로그램이나 커널로 전송한다. 한마디로 사용자와 커널의 중간다리 역할을 수행하는 것이다. 리눅스는 bash쉘을 기본으로 사용한다.

디렉토리

파일을 가지고 있거나 또 다른 디렉터리를 가지고 있는 그룹을 의미하며 파일 시스템에 의해 관리되고 있다.

 

리눅스의 장점 : 유닉스와 완벽히 호환, 공개 운영체제, PC용 OS에 비하여 안정적, 하드웨어의 기능을 잘 활용, 강력한 네트워크를 구축, 강력한 보안기능, 인터넷의 모든 기능을 지원

리눅스의 단점 : 공개 운영체제이기 때문에 문제 발생시 보상 어려움, 한글 입출력이 어려움

 

URL

URL은 통합 자원 지시자로 인터넷의 리소스를 가리키는 표준 명칭으로 서버의 자원을 요청할 때 사용된다. URL을 통해 인터넷 상의 모든 리소스를 요청할 수 있으며, HTTP, FTP 등의 자원 요청도 가능하다.

- url 의 구조 

scheme:[//host[:port]][/path][?query][#fragment]

scheme(스키마): 요청하는 요청 형식을 지정하는 것 

ex) - scheme 부분에 ftp를 사용하면 ftp통신, http를 사용하면 http 통신이 됨

       즉, scheme 부분은 7계층의 프로토콜을 지정하는 부분

 

host(ip주소)[:port]: 웹 서버의 호스트명으로, 도메인명 또는 IP 주소로 표현 된다.

ex) - 기본 port 번호는 생략됨. http는 80을 https는 443을 사용

 

path: 파일이나 애플리케이션 경로를 의미한다.

 

query: 질의 문자열로, 앰퍼샌드(&)로 구분된 키=값 쌍 형식으로 표현 한다.

ex) - 전달하는 데이터라고 생각하면 된다.

- 예)

 

 

Domain

ip는 사람이 이해하고 기억하기 어렵기 때문에 이를 위해서 각 ip에 이름을 부여할 수 있게 했는데, 이것을 도메인이라고 한다.

  • opentutorials.org -> 115.68.24.88
  • naver.com -> 220.95.233.172
  • daum.net -> 114.108.157.19

도메인은 “.”또는 루트(root)라 불리는 도메인 이하에 아래 그림과 같이 역트리(Inverted tree)구조로 구성되어 있다. 

1단계 : 최상위 도메인(TLD, Top-Level Domain)

도메인 레벨 중에 가장 높은 단계에 있는 도메인이다. 7 개의 일반도메인(com, net, org, edu,, gov, mil, int)과 + 190여개의 국가 도메인(kr, de, jp..)으로 구성되어 있다.

1단계 도메인은 도메인의 목적, 종류, 국가를 나타낸다. 최상위 도메인의 형태에 따라 도메인 네임 체계와 등록 원칙이 다를 수 있다.

  gTLD ccTLD New gTLD
정의 일반 최상위 도메인 국가 코드 최상위 도메인 신규 일반 최상위 도메인
설명 전세계 누구나 사용 가능 국가/지역 등을 나타냄
해당 국가, 지역에 거주하는 단체나 개인만이 취득 가능
기존 gTLD의 수량적 한계로 새로운  gTLD를 만들어냄
예시 com, net, org, biz, info, name, asia, jobs, mobi, tel, travel, xxx  kr, jp, cn, in, mx, us, de, tv, me email, coffee, camera, rent, website, xyz, news, blackfriday, loan 

 

2단계 : 차상위 도메인(SLD, Second-Level Domain)

도메인 이름을 등록한 조직을 나타낸다. 예를 들어, 단과 대학과 학술 시설은 ac, 회사는 co와 같은 형태를 가지고 있다.

 

3단계 : 도메인 이름(Domain Name)

자주 볼 수 있는 naver, google, daum과 같이 우리가 임의로 지정할 수 있는 자율적인 이름을 의미한다.

 

Name Server 

DNS는 Domain Name System의 줄임말로, 데이터베이스 시스템이다.

호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템이다.

DNS(Domain Name System)는 범국제적 단위로 웹사이트의 IP 주소와 도메인 주소를 이어주는 환경/시스템이다.

DNS 시스템 안에서 이어주는 역할을 하는 서버를 DNS 서버라고 한다.

 

Sub Domain 

서브 도메인은 보조 도메인으로써, URL로 전송하거나 계정 내의 IP 주소나 디렉토리로 포워딩되는 도메인 이름의 확장자이다.

 

예를들어 네이버는 여러 서비스들을 아래와 같은 서브도메인을 통해 사용자가 접근할 수 있도록 한다.

  • 네이버 블로그 : blog.naver.com
  • 네이버 메일 : mail.naver.com
  • 네이버 금융 : finance.naver.com

네이버, 티스토리 블로그의 경우 사용자마다 서브도메인을 부여한다. 아래처럼 티스토리 사용자마다 자기 블로그 주소를 정해줄수 있는데 이때 서브도메인을 활용한다.

  • 티스토리: http://userID.tistory.com
  • 네이버블로그: http://userID.blog.me

서브도메인이의 대표적인 예시로 모바일 전용페이지 에는 m. 을 붙힌다.

 

 

Redirection

 

브라우저가 www.test.com/page1 URL을 웹 서버에 요청한다. 서버는 HTTP 응답 메시지를 통해 "www.test.com/page2로 다시 요청하세요" 라고 브라우저에게 다른 URL(길, 방향)을 지시하는 것을 리다이렉트라고 한다.

댓글