CSR(Client-Side Rendering)과 SSR(Server-Side Rendering)은 웹 애플리케이션을 렌더링하는 두 가지 기본적인 방법입니다. 각각의 접근 방식은 사용자에게 웹 페이지를 제공하는 방식이 매우 다르며, 그에 따라 성능, SEO(검색 엔진 최적화), 개발 복잡성 등 여러 측면에서 장단점이 있습니다.
CSR은 웹 페이지의 내용이 사용자의 브라우저에서 JavaScript를 통해 동적으로 생성되고 렌더링되는 방식입니다. 이 방식은 초기에 서버로부터 빈 HTML 파일과 JavaScript 코드를 다운로드 받고, JavaScript가 실행되면서 웹 페이지의 내용을 구성합니다.
SSR은 서버에서 모든 웹 페이지의 내용을 렌더링하여 완성된 HTML을 사용자의 브라우저로 전송하는 방식입니다. 사용자는 서버로부터 이미 완성된 페이지를 받아 보게 됩니다.
각각의 렌더링 방식은 특정한 사용 사례와 요구 사항에 따라 선택됩니다. 최근에는 CSR과 SSR의 장점을 결합한 하이브리드 접근 방식인 Universal Rendering 또는 Isomorphic Rendering이 인기를 얻고 있습니다. 이 방식은 초기 페이지 로드는 서버에서 처리하고, 이후의 동적인 인터랙션은 클라이언트 측에서 처리하여 두 가지 방식의 이점을 모두 활용할 수 있습니다.
HTTP(HyperText Transfer Protocol)는 웹에서 데이터를 주고받는 프로토콜입니다. 클라이언트(보통 웹 브라우저)와 서버 간의 요청과 응답을 교환하기 위해 사용됩니다.
HTTPS(HyperText Transfer Protocol Secure)는 HTTP의 안전한 버전으로, 클라이언트와 서버 간의 통신을 암호화하는 SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 프로토콜을 사용합니다. 이는 데이터의 무결성을 보장하고, 중간자 공격(man-in-the-middle attacks)으로부터 보호하여 데이터를 안전하게 전송할 수 있도록 돕습니다.
HTTPS의 주요 특징
HTTPS의 작동 방식
HTTPS의 중요성
HTTPS는 특히 개인 정보, 로그인 자격 증명, 결제 정보 등 민감한 데이터를 다루는 웹사이트에서 필수적입니다. 구글과 같은 주요 기술 기업들은 웹사이트의 검색 엔진 순위를 결정할 때 HTTPS를 사용하는지 여부를 중요한 요소로 고려하고 있습니다. 이는 웹 보안 표준으로서의 HTTPS의 중요성을 강조합니다.
HTTP 메소드는 HTTPS 프로토콜에서도 동일하게 작동합니다. HTTPS는 HTTP의 안전한 버전이며, 기본적인 작동 방식은 HTTP와 같지만 통신 내용이 암호화된다는 점이 다릅니다. 이는 클라이언트와 서버 간의 데이터 전송이 보호되어, 데이터가 외부에서 도청되거나 변조되는 것을 방지합니다. HTTP 메소드의 정의와 사용 방법은 HTTPS에서도 그대로 유지됩니다. 다음은 HTTPS에서 사용되는 주요 HTTP 메소드들의 개요입니다
GET
POST
PUT
DELETE
PATCH
HTTPS에서의 암호화는 데이터의 무결성과 기밀성을 보장하는 중요한 역할을 합니다. 이는 데이터가 서버와 클라이언트 사이를 이동할 때 외부로부터의 간섭이나 도청으로부터 안전하다는 것을 의미합니다. 모든 HTTP 메소드에 대한 요청과 응답은 SSL/TLS를 통해 암호화되므로, 정보가 중간에 노출되더라도 원본 데이터를 해독하기 어렵습니다.
이처럼 HTTPS는 HTTP 메소드의 기본적인 기능을 그대로 유지하면서 통신의 보안을 강화한 프로토콜입니다.
클라이언트-서버 모델
클라이언트-서버 모델은 웹의 기본 아키텍처로, 사용자의 요청을 처리하고 응답을 제공하는 서버와, 요청을 보내고 응답을 받아 사용자에게 제공하는 클라이언트로 구성됩니다.
프론트엔드와 백엔드의 상호작용
데이터베이스와의 상호작용
백엔드 서버는 데이터를 저장하고 처리하기 위해 데이터베이스와 상호작용합니다. 사용자의 요청에 따라 데이터베이스에서 데이터를 조회하거나 수정한 후, 그 결과를 다시 클라이언트에게 전송합니다.