DNS
도메인 이름을 입력해도 원하는 웹사이트로 갈 수 있다.
인터넷의 DNS 시스템은 이름과 숫자 간의 매핑을 관리하여 마치
전화번호부와 같은 기능을 한다 .
DNS서버는 이름을 IP 주소로 변환하여 도메인 이름을 웹브라우저에 입력할 떄
최종 사용자를 어떤 서버에 연결할 것인지 제어를 한다.
- 사용자가 웹 브라우저를 열어 주소 표시줄에 www.example.com을 입력하고 Enter 키를 누릅니다.
- www.example.com에 대한 요청은 일반적으로 케이블 인터넷 공급업체, DSL 광대역 공급업체 또는 기업 네트워크 같은
- 인터넷 서비스 제공업체(ISP)가 관리하는 DNS 해석기로 라우팅됩니다.
- ISP의 DNS 해석기는 www.example.com에 대한 요청을 DNS 루트 이름 서버에 전달합니다.
- ISP의 DNS 해석기는 www.example.com에 대한 요청을 이번에는 .com 도메인의 TLD 이름 서버 중 하나에 다시 전달합니다. .com 도메인의 이름 서버는 example.com 도메인과 연관된 4개의 Amazon Route 53 이름 서버의 이름을 사용하여 요청에 응답합니다.
- ISP의 DNS 해석기는 Amazon Route 53 이름 서버 하나를 선택해 www.example.com에 대한 요청을 해당 이름 서버에 전달합니다.
- Amazon Route 53 이름 서버는 example.com 호스팅 영역에서 www.example.com 레코드를 찾아 웹 서버의 IP 주소 192.0.2.44 등 연관된 값을 받고 이 IP 주소를 DNS 해석기로 반환합니다.
- ISP의 DNS 해석기가 마침내 사용자에게 필요한 IP 주소를 확보하게 됩니다. 해석기는 이 값을 웹 브라우저로 반환합니다. 또한, DNS 해석기는 다음에 누군가가 example.com을 탐색할 때 좀 더 빠르게 응답할 수 있도록 사용자가 지정하는 일정 기간 example.com의 IP 주소를 캐싱(저장)합니다. 자세한 내용은 Time to Live(TTL)를 참조하세요.
- 웹 브라우저는 DNS 해석기로부터 얻은 IP 주소로 www.example.com에 대한 요청을 전송합니다. 여기가 콘텐츠가 있는 곳으로, 예를 들어 웹 사이트 엔드포인트로 구성된 Amazon S3 버킷 또는 Amazon EC2 인스턴스에서 실행되는 웹 서버입니다.
- 192.0.2.44에 있는 웹 서버 또는 그 밖의 리소스는 www.example.com의 웹 페이지를 웹 브라우저로 반환하고, 웹 브라우저는 이 페이지를 표시합니다.
Name Server
URL 주소를 IP주소로 변환시키는 과정이 필요한데
이 일은 네임 서버가 해준다.
사용자가 네이버의 URL을 입력하면 네임서버가 IP주소로 변환시켜준다.
이렇게 변환하는 과정을 resolution이다.
사실 접속하는 사이트의 IP의주소를 알고 있다면 네임서버는 필요없다.
네임서버는 흔히 DNS( domain name server)라고도 한다.
윈도우에서 자신의 DNS를 확인하는 방법!
- cmd 명령 프롬포트에서 nslookup을 입력한다
- adress : number ~ <- 이부분이 자신의 DNS 서버주소이다.
- nslookup 네임서버로부터 원하는 사이트의 IP를 얻을 수도 있다.
DNS는 단순히 URL주소를 IP주소로 변환해주는 역할을 한다.
그 밖에 네트워크에 미치는 영향은 없다!
Nginx 웹서버
what is Nginx? 간단히 말해서 경량화된 소프트웨어 웹 서버
- HTTP server로서 정적파일을 serve해준다
클라이언트로부터 요청을 받았을 때 WAS(web aplication server)를 거치지않고 요청에 맞는 정적 파일을 응답
HTML, CSS 와 같은 정적인 리소스에 대한 요청을 처리해준다.
React의 Build된 파일들도 정적인 리소스라고 볼 수 있다.
index.html같은 메인 페이지를 렌더링(바꾸는거) 해줄 수있다.
-Reverse Proxy Server로서 Client와 Server를 중개
Reverse Proxy Server로서 Client의 Request와 Server의 Response를 중개하는 서버로 동작하게 할 수 있다.
이 과정에서 nginx는 로드밸런서로서의 역할을 수행할 수 있다.
동적으로 계산되거나 전달되어야 하는 사항들은 WAS에게 맡긴다
-WAS (Web Application Server)
웹 서버로부터 오는 동적인 요청들을 처리하는 서버
흔히 사용하는 웹 프레임워크를 사용해 구축하는 백엔드를 WAS라고 생각하면된다.
주로 데이터베이스 서버와 같이 관리
Proxy?
포워드 프록시와 리버스 프록시를 설명하기 전에 Proxy 자체에 대해서 알아보자
클라이언트가 데이터를 요청하면 서버가 요청한 리소스를 가져다줄 것이다. 하지만 중간에 클라이언트의 요청을 서버로 보내주는 Proxy라고 불리는 서버가 하나 존재하게 된다.
이처럼 프록시는 중계 서버라고 이해하면 편하다. 클라이언트와 서버가 서로 직접적으로 통신하지 않고, 프록시 서버를 이용해서 리소스를 전달하며 보안, 트래픽 분산, 캐시 사용(속도 향상) 등 여러 장점을 가지는 중요한 서버이다.
what is web server?
HTTPS
https://danykde0til.tistory.com/26
내일배움캠프 22일차 개발일지 HTTP 구조와 핵심 요소 #1
1. HyperText Transfer Protocol HTTP란? 하이퍼텍스트(HTML) 문서를 교환하기 위해 만들어진 protocol(통신 규약). 즉 웹상에서 네트워크로 서버끼리 통신을 할때 어떠한 형식으로 서로 통신을 하자고 규정해
danykde0til.tistory.com
https://danykde0til.tistory.com/27
firewall (WAF)
방화벽(Web Application Firewall, WAF) 은, 일반적인 네트워크 방화벽 (Firewall)과는 달리 웹 애플리케이션 보안에 특화되어 개발된 솔루션이다. 웹방화벽의 기본 역할은 그 이름에서도 알 수 있듯, SQL Injection, Cross-Site Scripting(XSS)등과 같은 웹 공격을 탐지하고 차단하는 것인데, 직접적인 웹 공격 대응 이 외에도, 정보유출방지솔루션, 부정로그인방지솔루션, 웹사이트위변조방지솔루션 등으로 활용이 가능하다.
SQLInjection
SQL Injection 이란 악의적인 사용자가 보안상의 취약점을 이용하여,
임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위
인젝션 공격은 OWASP Top10 중 첫 번째에 속해 있으며, 공격이 비교적 쉬운 편이고
공격에 성공할 경우 큰 피해를 입힐 수 있는 공격이다.
참고 https://aws.amazon.com/ko/route53/what-is-dns/
DNS란 무엇입니까? – DNS 소개 - AWS
Internet Explorer에 대한 AWS 지원이 07/31/2022에 종료됩니다. 지원되는 브라우저는 Chrome, Firefox, Edge 및 Safari입니다. 자세히 알아보기
aws.amazon.com
https://hyeo-noo.tistory.com/205
[Nginx] 웹 서버 Nginx 에 대해서...
Django로 구축한 API 서버와 React를 연결하고 배포하기 위해서 Nginx를 사용해보았다. 둘을 연결하기 위해서 Nginx에 대한 이해가 반드시 필요했고 앞으로 Nginx를 공부하며 알게 되는 지식들을 최대한
hyeo-noo.tistory.com
'네트워크와 CS' 카테고리의 다른 글
매컴싸 발표 라이브러리와 프레임워크의 차이점 (0) | 2021.11.16 |
---|---|
TIL 38일차 리액트 . 그래서 라이브러리야 ~뭐야?; 라이브러리와 프레임워크의 차이점! (0) | 2021.11.12 |
23일차 개발일지 HTTP 구조와 핵심 요소 #2 (0) | 2021.11.03 |
22일차 개발일지 HTTP 구조와 핵심 요소 #1 (0) | 2021.11.03 |
21일차 개발일지 about CLOUD keword map #1 (0) | 2021.11.03 |