웹 프레임워크(web framework, WF) 또는 웹 애플리케이션 프레임워크(web application framework, WAF)는 동적인 웹 페이지나, 웹 애플리케이션, 웹 서비스 개발 보조용으로 만들어지는 애플리케이션 프레임워크의 일종이다. 웹 페이지를 개발하는 과정에서 겪는 어려움을 줄이는 것이 주 목적으로 통상 데이터베이스 연동, 템플릿 형태의 표준, 세션 관리, 코드 재사용 등의 기능을 포함하고 있다.
역사
월드 와이드 웹은 설계 시 태생적으로 동적이지 않았으며 웹 서버에 게시된, 손으로 코딩한 HTML로 이루어진 초기의 하이퍼텍스트로 이루어졌다. 게시된 문서를 수정하려면 페이지를 만든 사람이 직접 수행해야 했다. 1993년, 공통 게이트웨이 인터페이스(CGI) 표준이 외부 애플리케이션과 웹 서버 간 통신을 위해 도입되었고, 사용자의 입력을 반영한 동적 웹 페이지를 제공할 수 있게 되었다.[1]
1995년, 완전히 연동되는 서버/언어 개발 환경들이 처음 등장했으며 콜드퓨전, PHP, 액티브 서버 페이지(ASP) 등 새로운 웹 특화 언어들이 모습을 드러냈다.
3층 구조에서 애플리케이션은 3개의 물리적인 층으로 구성된다: 클라이언트, 애플리케이션, 데이터베이스.[2][3][4][5] 데이터베이스는 일반적으로 RDBMS이다. 애플리케이션은 비즈니스 로직을 포함하고 있으며, 서버를 구동시킨 다음 HTTP를 사용하여 클라이언트와 통신한다.[6] 웹 애플리케이션의 클라이언트는 응용 계층에 의해 생성되는 HTML을 실행하는 웹 브라우저이다.[7][8]