JJoajjoa 2023. 9. 18. 10:45

 

참고)

https://treasurehunter-jt.tistory.com/44

 

 

 

정적 페이지 (Static Page)  //  동적 페이지 (Dynamic Page)

 

정적 페이지

서버에 미리 작성된 HTML, CSS, JavaScript 등의 정적 파일로 구성됨

파일은 서버에서 클라이언트에게 직접 전송되어 사용자에게 표시됨

서버 측에서 별도의 처리나 데이터베이스와의 상화작용 없이 항상 동일한 내용을 제공함

웹 서버에서 캐싱되어 성능과 로딩 속도가 빠르고, 단순하고 안정적인 구조를 가짐

 

동적 페이지

서버 측에서 요청에 따라 동적으로 생성되는 웹페이지

→  계속 새롭게 만들어주는

사용자 요청에 따라 데이터베이스 조회, 계산, API 호출 등을 통해 요청에 맞춰 컨텐츠를 생성함

→  리액트에서 클릭하면서 왔다갔다 하는 ← 이건 정적페이지

→  게시판, 로그인, 회원가입 ← 이게 동적페이지

프로그래밍 언어와 데이터베이스(SQL)을 활용하여 필요한 작업을 수행하고, 클라이언트에게 결과를 전달함

동적으로 만든 웹 어플리케이션은 사용자와 상화작용하고 개인화된 컨텐츠 제공과 같은 고급기능을 구현하는데 유리함

하지만, 요청마다 데이터 처리와 계산하는 과정을 거치므로 성능면에서 더 많은 리소스를 필요로 함

→  그래서 우리가 무적권 동적으로 만든다고 좋은게 아님

 

 

 

 

 

프론트엔드 (Frontend)  //  백엔드 (Backend)

 

프론트엔드

사용자가 직접 상호작용하는 웹 어플리케이션ㄴ의 시각적인 부분을 담당

주로 웹 페이지의 디자인, 레이아웃, UI 요소를 구성하고 제어하는 역할을 함

→  HTML, CSS, JavaScript, UI/UX 디자인

 

 

백엔드

데이터 처리, 로직 실행 등 서버와 관련된 동작을 담당

서버 사이드 언어 :

PHP, Python(Django), Java(Spring), Ruby(Rails), C#(ASP.NET) 등으로 로직을 구현함

데이터베이스 :

데이터 저장 및 검색에 사용되는 시스템으로 MySQL, PostgreSQL, MongoDB, MariaDB 등 다양한 종류가 있음

API(Application Programing Interface) : 

클라이언트와 서버간의 통식방식으로 데이터 교환 및 리소스 접근 등에 활용됨

 

 

 

 

 

메서드 (Method)

클라이언트가 서버에게 요청을 보낼 때 어떤 방식으로 데이터를 전송하고 처리하는지를 나타냄

 

1. GET

서버로부터 정보(리소스)를 요청하기 위해 사용

URL의 쿼리 문자열을 통해 데이터를 전송함

데이터는 URL의 일부로 포함되어 전송되기 때문에 주소창에 노출됨

요청 파라미터는 key=value 형태로 전달되며, 여러개의 파라미터는 & 로 구분됨

GET은 캐싱이 가능하고 북마크가 가능한 특성을 가짐

idempotent(멱등성)의 특징을 가짐

→  멱등성 : 동일한 요청이 여러번 실행되어도 동일한 결과가 나와야 함

주로 데이터 조회나 검색 등에 사용

2. POST

서버에게 리소스를 생성하거나 수정하기 위해 사용

요청 바디(Body)에 포함되어 데이터를 전송함

URL 상에 데이터가 노출되지 않으므로 보안 면에서 우수함

중복 실행시 같은 작업이 반복되거나 부작용이 발생할 수 있으므로 idempotent 하지 않음(예외 존재함)

→  회원가입, 로그인, 폼 제출 등에 사용

3. PUT

서버에게 리소스를 생성하거나 수정하기 위해 사용

요청 바디(Body)에 포함되어 데이터를 전송함

URL 상에 데이터가 노출되지 않으므로 보안 면에서 우수함

클라이언트가 서버에게 업데이트할 리소스의 전체 내용을 보내는 경우에 사용함

→  게시글 전체 내용 수정, 파일 업로드 등에 사용

4. DELETE 

서버에게 특정 리소스를 삭제하기 위해 사용

주로 해당 URL의 리소스를 삭제하는 요청을 보낼 때 사용

idempotent(멱등성)의 특징을 가짐

→  게시글 삭제, 회원탈퇴 등에 사용