DevOps BootCamp/웹 서비스

웹 서비스 기초

cloudmaster 2023. 3. 15. 12:02

클라이언트-서버 아키텍처

 

 ★ OSI 7계층

 

 ● API : 클라이언틍와 서버를 통신하게 도와주는 통신 규약(ex. 메뉴판)

 

 ★ URL과 URI

   URL(Uniform Resource Locator) : 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타냄

 

부분명칭설명

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, Port

   Port : IP로 접속하기 위한 통로, 0~ 65,535 ( 0 ~ 1024번 까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해짐)

   - 잘 알려진 포트

   22 : SSH

   80 : HTTP

   443 : HTTPS

 

 ★ 도메인과 DNS

  Domain name

  - 웹 브라우저를 통해 특정 사이트에 진입을 할 때, IP 주소를 대신하여 사용하는 주소

  localhost = 127.0.0.1

   

  DNS ( Domain Name System ) : 도메인 이름을 IP 주소로 변환 or 반대의 경우를 수행할 수 있도록 개발된 데이터베이스  시스템

 

★ DNS 과정

 ● DNS 리커시 - 리커서는 도서관의 어딘가에서 특정한 책을 찾아달라고 요청받는 사서로 생각할 수 있음

   애플리케이션을 통해 클라이언트 컴퓨터로부터 쿼리를 받도록 고안된 서버

   클라이언트의 DNS 쿼리를 충족시키기 위해 추가 요청을 수행

 

● 루트 이름 서버 - 사람이 읽을 수 있는 호스트 이름을 IP 주소로 변환(확인)하는 첫 번째 단계

   책장 위치를 가리키는 색인으로 생각할 수 있으며, 일반적으로 다른 더욱 특정한 위치에 대한 참조

 

● TLD 이름 서버 -  TLD(최상위 도메인) 서버는 도서관의 특정 책장

  특정 IP 주소 검색의 다음 단계이며 호스트 이름의 마지막 부분을 호스팅

 

● 권한 있는 이름 서버 -  최종 이름 서버로서, 책장에 있는 사전처럼 특정 이름을 해당 정의로 변환  

  권한있는 이름 서버가 요청한 레코드에 대한 액세스 권한이 있다면, 요청한 호스트 이름의 IP 주소 를 초기 요청을 한 DNS 리커서(사서)에게 돌려 보냄

 

★ DNS 쿼리

 1. 재귀 쿼리 : 확인자가 레코드를 찾을 수 없는 경우, DNS 클라이언트는 DNS 서버(일반적으로 DNS 재귀 확인자)가, 요청한 자원 레코드 또는 오류 메시지를 사용하여 클라이언트에 응답

 

2. 반복 쿼리 : DNS 클라이언트는 DNS 서버가 가능한 최상의 응답을 반환, NS 서버가 쿼리 이름과 일치하는 이름을 갖고 있지 않은 경우, 하위 수준의 도메인 네임스페이스에 대해 권한 있는 DNS 서버에 대한 참조를 반환

 >  DNS 클라이언트가 참조 주소를 쿼리, 오류 또는 제한 시간 초과가 발생할 때까지 추가 DNS 서버가 쿼리 체인을 중단한 상태로 계속

 

3. 비재귀 쿼리 :  DNS 확인자 클라이언트의 쿼리를 받은 DNS 서버가 해당 레코드에 대한 권한이 있거나 캐시 내부에 해당 레코드를 갖고 있어, DNS 서버가 액세스 권한을 갖고 있는 레코드를 쿼리할 때 발생,  DNS 레코드를 캐시

 

★ 캐싱

 > 데이터를 임시 저장하여, 데이터 요청에 대해 성능과 신뢰성을 높이는 것

    DNS 데이터는 다양한 위치에 캐시될 수 있으며, 각 위치는 TTL(Time-To-Live)에 의해 정의된 설정 시간 동안 DNS 레코드를 저장

 

 ※ TTL : 패킷이 라우터에 의해 폐기될 때까지 네트워크 내부에 존재하도록 설정된 시간 또는 "홉"의 양 

 - traceroute 명령을 사용하면 점점 더 높은 순차적 TTL을 가진 패킷 스트림이 인터넷을 통해 대상으로 전송       

 

'DevOps BootCamp > 웹 서비스' 카테고리의 다른 글

HTTP 기초 두 번째 발표  (0) 2023.03.16
DNS 서버 과정  (0) 2023.03.15
웹 서비스 첫 번째 발표  (0) 2023.03.15