웹 3계층 아키텍처의 각 서버 간 통신이 이루어진다는 것은 알겠다. 그런데, 어떻게 서버끼리 통신하고, 응답을 사용자 화면에 보여주는 것일까? 또한, 사용자는 웹 브라우저에서 어떻게 그 주소에 접근할까?
서버 간 통신을 보기 전, 간단하게 URL 주소를 IP 주소로 변환하여 검색하는 DNS에 접근하는 방법을 알아보자
0. 웹 브라우저 접근하기
1. Client에서 Web Server 간의 통신
1) 웹 브라우저가 요청
2) URL로 요청한 사이트를 DNS 테이블에서 해석하여 웹페이지 찾기
3) 웹 서버의 프로세스가 요청 접수 완료
4) 웹 서버가 해당 리소스가 정적 콘텐츠인지 동적 콘텐츠인지 판단
5) 필요한 경로로 데이터에 엑세스(단순 이미지, 동영상, 텍스트는 웹 서버에서 / 동적인 건 OS 서버 / 테이블에 접근하는 건 DB 서버)
2. Web Server에서 AP 서버까지
1) 웹 서버로부터 요청 도착. 이때, 요청을 받는 것은 쓰레드
2) 쓰레드가 요청을 받으면 자신이 처리할 수 있는지, 아니면 DB에 접근이 필요한지를 판단
3) DB 접속 필요하면 연결 풀에 엑세스
4) DB에 서버 요청
3. AP 서버에서 DB 서버까지
1) AP 서버로부터의 요청 도착. DB 프로세스가 요청을 접수
2) 프로세스가 요청을 접수하고, 해당 데이터에 대해 캐시가 있는지 확인
3) 캐시에 없으면 디스크에 엑세스
4) 디스크가 데이터를 반환. 이때, 데이터를 캐시 형태로 저장
5) 결과를 APt 서버에 반환
4. AP 서버부터 웹 서버까지
1) DB 서버로부터 데이터 도착
2) 쓰레드가 데이터를 가지고 계산 및 연산 후에 파일 데이터를 생성
3) 결과를 웹 서버로 반환
5. 웹 서버부터 클라이언트 PC까지
1) AP 서버로부터 데이터 도착
2) 프로세스는 받은 데이터를 그대로 반환
3) 결과가 웹 브라우저에 반환되고 화면에 표시
서버간 통신 간단 정리
1) 프로세스나 스레드가 요청을 받는다
2) 도착한 요청을 파악해서 필요에 따라 별도 서버로 요청을 보낸다
3) 도착한 요청에 응답한다
참고서적
https://www.yes24.com/Product/Goods/95800974
'네트워크 공부 > 네트워크' 카테고리의 다른 글
Virtual box Kali Linux(칼리 리눅스)에서 스노트 설치하기 (0) | 2024.07.09 |
---|---|
웹 3계층 아키텍처 - 기본 구조 (0) | 2024.07.03 |
반도체에서 SoC, 정보 보안에서 SoC (0) | 2023.03.08 |