[Recap] 웹 구성 간 흐름 2

박세진·2024년 4월 29일
0

Recap

목록 보기
3/4

웹 검색 엔진 : 구글과 SEO

웹 크롤링 & 인덱싱

🛩 웹 크롤링(Web Crawling)
웹 상의 정보를 수집하는 과정

  • 크롤러 또는 스파이더라고 불리는 소프트웨어가 웹 페이지를 탐색하고, 해당 페이지의 콘텐츠를 수집함
  • 이러한 크롤러는 일반적으로 URL을 따라 이동하며, HTML 문서를 다운로드하고 파싱하여 콘텐츠를 추출함
  • 수집된 정보는 검색 엔진의 인덱서에 의해 색인화됨

✈ 인덱싱(Indexing)
수집된 웹 페이지의 콘텐츠를 분석하여 검색 엔진이 빠르게 검색할 수 있는 형태로 변환하는 과정

  • 수집된 각 웹 페이지의 키워드, 제목, 링크 등의 정보를 추출하고, 이를 색인화하여 색인 데이터베이스에 저장함
  • 색인화된 데이터는 검색 쿼리에 응답하기 위해 사용됨

📢 SEO, 검색엔진 최적화

: 검색 시 상위 노출

  • 좋은 내용 Good Contents
  • Semantic HTML - 심화 : schema.org
  • 키워드 및 메타 태그
  • 성능 Performance Metrics
  • 웹 접근성

웹 서버(Web Server, WS)

(Apache, Nginx 등)
CGI
FCHI
PHP

➊ HTTP 요청 처리
클라이언트로부터 오는 HTTP 요청을 받아들이고 해당 요청에 대한 응답을 생성
➋ 정적 콘텐츠 제공
서버에 미리 저장되어 있고 요청에 따라 바로 전달될 수 있는 콘텐츠를 제공
➌ 파일 전송
웹 서버는 클라이언트가 요청한 파일을 전송하고, 다운로드를 가능하게 함
➍ 가상 호스팅(Virtual Hosting)
하나의 웹 서버에서 여러 도메인을 호스팅할 수 있음
➎ 로그 기록
웹 서버는 클라이언트 요청에 대한 로그를 기록하여 웹 사이트의 트래픽과 사용자 활동을 추적할 수 있음
➏ 보안 기능
일부 웹 서버는 SSL/TLS 암호화를 통해 보안된 연결을 제공하거나, 액세스 제어를 통해 보안을 강화함

웹 어플리케이션 서버(WAS, Web Application Server)

Servlet 서블릿

➊ 웹 어플리케이션 실행 환경 제공
이 환경은 언어나 프레임워크에 따라 다를 수 있으며, 주로 Java EE, .NET 등의 플랫폼을 지원
➋ 프로그램 실행 및 관리
다중 사용자 환경에서도 안정적으로 어플리케이션을 운영하도록 함
➌ 웹 서버 기능 제공
일부 WAS는 웹 서버 기능을 내장하고 있어 정적인 콘텐츠의 처리나 리버스 프록시와 같은 기능도 제공할 수 있음
➍ 스레드 관리 및 트랜잭션 처리
WAS는 동시에 여러 요청을 처리하기 위해 스레드 풀을 관리하고, 트랜잭션 처리를 지원함
➎ 데이터베이스 연동
데이터베이스와의 연동을 위한 커넥션 풀링과 같은 기능을 제공하여 데이터베이스와의 효율적인 통신을 지원함
➏ 보안 기능
사용자 인증, 권한 부여 및 암호화와 같은 보안 기능을 제공하여 웹 어플리케이션의 보안을 강화함


웹 페이지 렌더링 방식

📕 SSG (Static Site Generation)

Nginx, S3 - 정적 리소스 반환

  • 정적 사이트 생성 방식
  • 사전에 컴파일된 HTML 파일을 제공
  • 웹사이트의 콘텐츠가 자주 변경되지 않는 경우 적합
  • 빌드 시점에 모든 페이지가 렌더링되므로, 서버에 부하가 적고 빠른 페이지 로딩 가능

📗 SSR (Server Side Rendering)

Spring Thymeleaf, Next.js

  • 서버 측에서 페이지를 렌더링하는 방식
  • 클라이언트 요청마다 서버에서 HTML을 생성하여 반환
  • 동적인 콘텐츠에 적합하며, 검색 엔진 최적화(SEO)에 유리
  • 초기 로딩 속도는 느릴 수 있지만, 서버에서 데이터를 가져와 즉시 렌더링하기 때문에 초기 콘텐츠 전달 가능

📘 CSR (Client Side Rendering)

React.js

  • 클라이언트 측에서 페이지를 렌더링하는 방식
  • HTML은 초기 요청에 의해 전달되며, JavaScript를 사용하여 동적으로 콘텐츠를 렌더링
  • 초기 로딩 속도는 빠르지만, 페이지가 로드된 후에 JavaScript가 실행되어야 콘텐츠가 표시됨
  • 서버 부하가 감소하고, 사용자 경험은 더욱 동적이나 검색 엔진 최적화가 어려울 수 있음

0개의 댓글