🎃강의 내용 정리
서브 도메인 : 보조 도메인으로 url을 전송하거나 ip주소, 디렉토리로 포워딩되는 도메인 이름의 확장자
인터넷 상에서 안전하게 데이터를 주고 받기 위해서는 암호화 하여 통신하는데 http에 보안성 기능을 추가한 것이 HTTPS이다. 이것은 대개 클라이언트와 서버 간의 모든 커뮤니케이션을 암호화 하기 위하여 SSL 이나 TLS을 사용한다. 이 커넥션은 클라이언트가 민감한 정보를 서버와 안전하게 주고받도록 해준다. 예를들면 금융 활동 이나 온라인 쇼핑이 있을 수 있다.
ip -> 도메인 으로 연결
http -> https 로 연결
이는 모두 Redirection 처리가 되어있기 때문이다.
🔥 핵심 키워드 정리
1. OS
= Operation System = 운영체제 = 컴퓨터를 효율적으로 관리하고 제어하며 작동하기 위해 만들어진 소프트웨어
= 컴퓨터 전체를 관리 및 제어하기 때문에 컴퓨터를 사용하기 위해서 먼저 설치를 해야하는 기본 소프트 웨어
: 컴퓨터 하드웨어 위에 설치가 되며 OS가 설치되어야 다른 응용 프로그램들(문서 작성, 이미지 처리, 웹 사이트, 게임)이 정상적으로 실행된다.
: Windows, Unix, Linux, Mac OS, iOS, Android가 대표적인 OS이다.
2. Linux
2-1 Linus 정의
운영 체제 중 하나이며, 다중 사용자, 다중 작업(멀티테스킹, 다중 쓰레드)를 지원하는 네트워크 운영체제(NOS)이다.
* NOS : 사람이 컴퓨터를 사용할 수 있도록 하는 프로그램 중 하나
2-2 장점
: 무료, 강력한 네트워크를 구축, 강력한 보안 기능, 인터넷의 모든 기능 지원, 개발 환경 풍부, 공개 운영체제, 유닉스와 완벽하게 호환, 하드웨어의 기능을 알차게 사용
2-3 단점
공개 운영체제이기 때문에 문제점 발생시 보상받을 수 없음, 한글 입출력에 대한 어려움, 기술지원의 부족, 사용자의 숙련된 기술이 요구
2-4 리눅스를 사용하는 이유
: 모든 소스가 오픈되어 있어 광범위하게 사용된다.
: 다중사용자, 다중 작업을 지원하기 때문에 시스템적으로 서버를 운영하기에 적합하다.
2-5 리눅스 구조
- Kernel : 리눅스의 핵심으로 프로세스 관리, 메모리 관리, 파일 시스템 관리, 장치 관리등 컴퓨터의 모든 자원을 초기화하고 제어하는 기능을 수행한다. 하드웨어를 직접 제어하고, 프로세스 관리, 메모리 관리, 파일시스템 관리 등을 수행하는 운영체제의 핵심으로, 사용자가 실행시키는 응용프로그램과 하드웨어 사이의 관리자 역할을 수행하며 쉘과 연관되어 쉘에서 명령하는 작업을 수행하고 그 결과를 쉘로 보내는 일을 한다.
- Shell : 리눅스의 사용자 인터페이스로서 사용자와 커널 사이의 중간자 역할을 담당하는 특별한 프로그램. 셸은 사용자가 입력한 명령을 해석하여 커널에 넘겨준다. 그러면 커널이 명령을 수행한 후 수행 결과를 돌려주고, 셸은 다시 사용자가 이해 할 수 있는 형태로 바꿔서 출력한다. 리눅스는 배시 셸을 기본으로 사용한다.
- Application : 리눅스는 각종 프로그래밍 개발 도구, 문서 편집도구, 네트워크 관련 도구등 매우 다양한 응용 프로그램을 제공한다. (Editor, 통신프로그램, X윈도우, 웹서버 등)
3. IP
3-1 IP 란?
Internet Protocol = 네트워크상에서 다른 컴퓨터와 구별하게끔 해주는 고유번호 = 컴퓨터만의 전화번호
3-2 IPv4
: IPv4는 IP version 4의 약자로 전 세계적으로 사용된 첫 번째 인터넷 프로토콜이다.
표현 : 32비트(0.0.0.0부터 255.255.255.255까지 표현 가능)
ex) 115.68.24.88
IPv4는 0 ~ 2^32 (약 42억 9천)개의 주소를 가질 수 있는데, 전 세계적으로 인터넷 사용자 수가 급증하면서 IPv4 주소가 고갈될 위기에 처해있다. 이러한 고갈 문제를 해결하기 위해 등장한 주소가 바로 IPv6이다.
3-3 IPv6
: IPv6는 IP version 6의 약자로, IPv4의 주소체계를 128비트 크기로 확장한 차세대 인터넷 프로토콜 주소이다.
16비트씩 8자리로 각 자리는 콜론으로 구분한다.
ex) 2001:0DB8:1000:0000:0000:0000:1111:2222
2031:0000:00D3:2F3B:02AA:00FF:Fe28:9C5A
네트워크 속도, 보안적인 부분뿐만 아니라 여러 면에서 뛰어나지만, 기존의 주소체계를 변경하는데 비용이 많이 들어서 아직 완전히 상용화가 되지 않았다.
https://inpa.tistory.com/entry/WEB-%F0%9F%8C%90-IP-%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
4. URL
4-1 URL 이란?
: Uniform Resource Locators
: 인터넷에서 특정 웹 사이트, 파일 또는 페이지의 위치를 나타냄. 기본적으로 웹에서 정보를 찾을 때 이동하려는 주소이다.
: 도메인 + 경로
4-2 URL 구조
- 프로토콜 ex) HTTP, HTTPS
- 도메인 이름 ex) google.com
- 경로
5. Domain
5-1 도메인 이란?
: 도메인은 인터넷에 연결된 컴퓨터의 ip를 사람이 쉽게 기억하기 어렵기 때문에 이를 위해서 각 ip에 사람이 쉽게 기억하고 입력할 수 있도록 문자(영문, 한글 등)로 만든 인터넷 주소이다.
: naver.com -> 220.95.233.172
5-2 도메인의 구성요소
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과 같이 우리가 임의로 지정할 수 있는 자율적인 이름을 의미한다.
* 예시
> naver.com
naver : 도메인 이름
com : 최상위 도메인 - 비영리단체
> daum.co.kr
daum : 도메인 이름
co : 국가 형태의 최상위 도메인을 의미
kr : 대한민국의 NIC에서 관리하는 도메인을 의미
6. Name Server
: URL주소를 IP주소로 변환해주는 역할을 하는 서버
: 사용자가 네이버의 URL(www.naver.com)을 입력하면 네임 서버가 IP주소로 변환시켜 준다. 네임 서버는 흔히 DNS(Domain Name Server)라고도 한다.
: 클라이언트가 도메인 명으로 사이트에 접속을 시도하면, 이 DNS 서버에서 IP 주소를 클라이언트에게 응답해준다. 이 IP 주소를 가지고 다시 클라이언트는 서버에 접속을 하게 되는 구조입니다.
7. Sub Domain
: 큼직한 웹사이트인 네이버는 블로그 서비스에 대해서는 ‘blog.’를, 뉴스 서비스에 대해서는 ‘news.’를 서브도메인으로 사용함. 또 다른 대표적인 예로는 블로그 서비스를 제공하는 티스토리가 계정명으로 서브도메인을 쪼개는 걸 볼 수 있음.
서브도메인이란 건 간단함. 위에서 말한 도메인 등록 기관(Registry)에 등록되어 있는 하나의 루트 도메인을 도메인 관리자의 목적에 맞게 여러 개로 쪼개고 싶을 때 사용함.
8. Redirection
https://webstone.tistory.com/65
예를 들어 로그인을 한 회원만 볼 수 있는 마이페이지가 있을 때, 로그인 하지 않은 사람이 마이페이지 url로 접속하려 한다고 하자. 이때, 로그인을 하지 않은 회원의 경우 마이페이지에 접속할 수 있는 권한이 없기 때문에 로그인 페이지로 리다이렉트를 걸거나 메인 페이지로 리다이렉트 걸어줄 수 있다.
Redirection이 필요한 이유
카페마다 다르겠지만 특정 네이버 카페의 글들은 네이버 회원이라고 하더라도 해당 카페에 가입되어 있거나 혹은 카페에 가입되어 있다고 하더라고 특정 등급이 되어야 열람할 수 있는 글들이 있습니다. 만약 해당 글의 URL을 알아내어 브라우저의 주소창에 입력한 후 접근한다고 했을때 권한이 없다면 글에 대한 내용을 웹서버가 응답하면 안될 것입니다. 이때 웹서버는 글에 접근하는 요청마다 권한을 검사하고 권한이 되지 않는 경우 권한을 확인하세요 라는 경고 문구가 뜨는 페이지나 혹은 네이버 계정이 로그인 되어 있지 않은 상태라면 로그인 페이지로 리다이렉트 시킬 필요가 있습니다.
URL 리다이렉션은 여러 목적이 있다
웹 페이지가 이동될 때 발생되는 죽은 링크의 예방, 하나의 웹사이트를 가리키는 동일 소유자의 여러 도메인 이름 허용, 웹사이트 안팎으로의 탐색 안내, 개인 정보 보호, 피싱 공격과 같은 덜 무해한 목적.
> api를 구성할때 서브 도메인은 왜 써야 할까?
: 서브 도메인을 사용하면 웹사이트의 다양한 기능을 간단하게 구성할 수 있을 뿐만 아니라 사용자가 다양한 기능을 더 쉽게 찾을 수 있다.
: 쿠키 정보를 얻을 수 없다. -> 안정성
// site.com에서 쿠키를 설정함
document.cookie = "user=John"
// site.com의 서브도메인인 forum.site.com에서 user 쿠키에 접근하려 함
alert(document.cookie); // 찾을 수 없음
> 리눅스에 대해서 조사해보기
'Server > UMC 2기 Server' 카테고리의 다른 글
[UMC] Server 4주차 RDBMS / 데이터모델링 / 인스타그램 설계 예시 (0) | 2022.04.05 |
---|---|
[UMC] Server 3주차 *실습* Ubuntu Nginx에서 도메인, 서브 도메인, 리다이렉션 적용 / HTTPS Let's Encrypt 설정 (0) | 2022.03.30 |
[UMC] Server 2주차 *실습* 포트포워딩 실습 / AWS 실습 (0) | 2022.03.24 |
[UMC] Server 2주차 포트포워딩/AWS (0) | 2022.03.21 |
APM 소스 설치 - Ubuntu 20.04 + Apache 2.4.46 (0) | 2022.03.17 |