일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Java
- autowired
- react
- 어노테이션
- bean
- 프레임워크
- 개발자기록
- https
- 뷰
- REST API
- Spring
- vue
- JavaScript
- JSON
- vue3
- CS
- GIT
- API
- framework
- SQL
- HTTP
- pls-00103
- Github
- Spring Framework
- oracle
- DTO
- Entity
- error
- spring boot
- 깃허브에러
- Today
- Total
o-ohi-code 님의 블로그
Web Framework 란? 본문
Web Framework (웹 프레임워크)
웹 애플리케이션을 만들 때 필요한 공통 기능들을 미리 만들어 놓은 틀(Framework)라는 뜻이다.
🤔 웹 프레임워크가 필요한 이유는 무엇일까?
보통 웹 서비스를 만드는 개발자라면 매번 똑같은 일들을 반복하고 있을 것이다.
ex) 사용자 URL 확인, 로그인 여부, 데이터 저장 불러오기, 에러 처리 ..등
이걸 매번 처음부터 직접 짜야 한다면 머리가 아플 것이다...
ㄴ 이때 등장한 것이 바로 web framework 이다.
🫤 만약 WebFramework 가 없다면
ㄴ 기초부터 집을 혼자 지어야 하는 것처럼, 서버도 모든 걸 직접 구현해야 하는 번거로움이 있다.
요청 처리, 라우팅, 파라미터 파싱, 세션 관리, 보안 설정 등 전부 다 직접 만들어야 하기에
개발 시간도 오래 걸리고, 안 그래도 버그도 많은데, 협업도 어렵다 ㅡㅡ;;
web Framework 를 안 쓸 이유가 없는 것이다.
ㄴ 개발 속도도 빨라지고, 코드도 깔끔하고, 유지보수도 편하고, 실수도 줄고, 협업도 쉬워지니까.
Web Framework 역할에 대해 추가로 설명하자면
1. 라우팅 : 요청을 받고 응답을 보내주는 기능이다.
사용자가 /login 같은 주소로 들어오면, 그 요청을 확인 어떤 기능을 실행할지 연결해주는 역할을 한다.
2. 파싱 : 요청한 데이터를 가져온다.
사용자가 폼에 입력한 데이터나 *JSON 데이터를 쉽게 꺼내서 쓸 수 있게 도와준다.
*json* : javaScript Object Notation 데이터 주고받을 때 사용하는 아주 간단한 형식의 문법
3. 로그인/로그 아웃, 인증 처리
누가 로그인을 했는지 기억하고, 특정 페이지는 로그인한 사람만 들어올 수 있게 막을 수도 있다. (접근 제한)
4. DB 연결과 사용
데이터베이스랑 연결, 데이터 저장하거나 꺼내는 걸 쉽게 만들어 준다.
5. 예외 처리와 보안
서버 에러가 났을 때, 사용자에게 친절한 메시지를 보여주고
*CSRF, *XSS 같은 보안 공격을 막는 기능도 내장돼 있다.
*CSRF* : Cross-site Request Forgery 사용자가 의도하지 않은 요청을 다른 사이트에서 몰래 보내도록 만드는 공격이다.
*XSS* : Cross-Site Scription 웹 페이지에 악성 스크립트 를 심어 다른 사용자의 브라우저에서 강제로 실행되게 만드는 공격이다.
6. 구조적인 개발
웹 프로임워크는 개발자에게 '이런 구조로 개발해' 하고 가이드라인을 제공,
ㄴ 협업할 때 코드가 복잡하게 꼬이지 않게 도와준다.
'프레임워크(Framework)' 카테고리의 다른 글
[Spring Framework] 어노테이션 정리-1 (0) | 2025.04.04 |
---|---|
[Framework] 프레임워크란? (0) | 2025.04.04 |