해킹스터디

[Normaltic 웹해킹 입문] 1강 관련 복습&리뷰-②

herini0829 2025. 10. 24. 13:53

정적 페이지 vs 동적 페이지 (APM 맛보기까지)

  • 정적 페이지: 요청자와 상관없이 같은 내용을 내려줌 (예: 회사 소개 HTML, 공지 HTML, 정적 이미지/JS/CSS 파일)
  • 동적 페이지: 요청/사용자/상태에 따라 내용이 바뀜 (예: 로그인 후 마이페이지, 장바구니, 추천 목록)

참고: 유튜브/넷플릭스 “서비스 자체”는 대부분 동적. 다만 그 안에서 제공되는 정적 자원(썸네일 이미지, CSS 등) 은 정적


웹의 3대 구성요소(아주 간단히)

  1. 웹서버(Web Server) – 요청을 받아 정적 파일을 바로 내려주거나, 애플리케이션 레이어에 프록시
  2. WAS(App 서버) – 코드가 돌면서 동적 페이지를 생성 (비즈니스 로직, 세션, 인증 등)
  3. DB – 데이터를 보관/조회/저장

용어 팁

  • PHP는 “언어/런타임”에 가깝고, WAS 역할은 보통 PHP-FPM(또는 Apache 모듈) 같은 실행 환경이 하게 됨
  • 자바 진영에선 Tomcat 같은 게 전형적인 WAS

APM 구조란?

  • Apache(웹서버) + PHP(애플리케이션 실행) + MySQL(DB)
  • 입문자에게 설정이 쉽고 자료가 많아서, 첫 실습용 조합으로 유명함.
  • 근현대(?)에는 Nginx + PHP-FPM + MySQL/MariaDB 조합도 자주 쓰인다고..

GET vs POST (간단 비교표)

항목GETPOST
데이터 전달 URL 쿼리스트링(?q=...) HTTP Body
용도 조회(검색, 목록) 생성/수정/삭제(로그인, 폼 전송)
특징 즐겨찾기/공유 쉬움, 캐시 유리 주소창에 노출 X, 대체로 더 많은 데이터 전송
보안 관점 파라미터가 URL에 노출될 수 있음 민감정보도 노출 덜 됨(그래도 HTTPS 필수)
규칙 멱등/안전 권장 상태 변경 작업에 주로 사용

두줄 도식화

 
[브라우저][웹서버(Apache/Nginx)] └─ 정적이면: 여기서 바로 응답(HTML/JS/CSS/이미지) └─ 동적이면: [WAS(PHP-FPM/프레임워크)] → [DB(MySQL)] → 응답 생성

다음 글 예고

  • APM 세팅(Apache + PHP + MySQL)
  • 간이 로그인 페이지 만들기(세션/폼 전송/기본 보안 포인트)

질문/수정 원하면 댓글 주세요. 계속 연재하면서 같이 쌓아봅시다. 😄