2025. 2. 4. 13:32ㆍNetwork 공부
위 1번이 정적인 요청이고 2번이 동적인 요청일까??
1. Static Request
미리 저장된 파일을 그대로 반환하는 요청
- 서버는 단순히 파일을 클라이언트에게 제공하고 끝남.
- 서버에서 별도의 코드 실행 없이 클라이언트에게 응답을 반환함.
- 요청이 들어오면 서버가 파일을 읽어서 그대로 클라이언트에게 전송하는 방식.
ex)
curl http://example.com/index.html
서버에 미리 저장된 index.html을 그대로 반환.
curl http://example.com/images/logo.png
서버에 있는 logo.png 이미지를 그대로 반환.
curl http://example.com/style.css
CSS 파일을 있는 그대로 클라이언트에게 제공.
Client → (HTTP 요청) → Web Server (Apache, Nginx) → [파일 시스템에서 HTML, CSS, JS 검색] → 응답 반환
정적 요청의 특징
- 서버 부하가 적음 (파일을 그대로 제공)
- 응답 속도가 빠름 (파일을 읽고 바로 전송)
- 데이터가 변하지 않음 (변경하려면 직접 파일을 수정해야 함)
2. Dynamic Request
요청을 받을 때마다 서버에서 실행되는 코드(스크립트, 프로그램 등)을 통해 응답을 생성하는 요청
HTML 을 고정된 파일에서 가져오는 것이 아니라 실시간 데이터베이스 조회 및 로직을 수행하여 생성한다.
동적 요청을 처리하기 위해 웹 서버(Apache, Nginx)와 애플리케이션 서버(Tomcat, PHP-FPM 등)가 함께 동작한다
ex)
curl http://example.com/user?id=123
서버가 id=123을 기반으로 DB에서 데이터를 가져와 HTML을 생성 후 응답.
curl http://example.com/jsp/test.jsp
.jsp 파일은 Java 서블릿으로 실행되어 동적인 HTML을 생성 후 반환.
curl http://example.com/api/data
서버에서 JSON 데이터를 생성하여 반환.
Client → (HTTP 요청) → Web Server (Apache, Nginx)
→ Application Server (PHP, Java, Python 등)
→ Database (MySQL, PostgreSQL 등)
→ Application Server가 DB 데이터를 가공 후 HTML/JSON 응답 생성
→ Web Server가 최종 응답을 클라이언트에게 전달
동적 요청의 특징
- 실시간 데이터 반영 가능 (예: 로그인, 게시글 조회)
- 사용자 요청마다 다른 응답 생성 가능 (예: id=123 요청 시 특정 유저 정보 조회)
- 비즈니스 로직을 서버에서 실행 가능 (예: 계산, 인증, 데이터 처리 등)
❌ 서버 부하 증가 (매번 코드 실행 및 데이터베이스 접근 필요)
❌ 응답 속도가 느릴 수 있음 (복잡한 로직 및 DB 조회 시)
'Network 공부' 카테고리의 다른 글
Synchronous vs Asynchronous ( 동기 vs 비동기 ) 방식 (0) | 2025.02.05 |
---|---|
ACL (Access Control List) (0) | 2025.02.05 |
SSH(Secure Shell) (0) | 2025.02.04 |
Hash Function (0) | 2025.02.04 |
Proxy Server (0) | 2025.02.04 |