IT지식

클라이언트 사이드 vs 서버 사이드

굿다운 2021. 5. 12. 14:33

서버사이드란(server-side)?

 

네트워크의 한 방식인 클라이언트  - 서버 구조의 클라이언트쪽에서 행해지는 처리

 

HTTP 통신에 있어서 브라우저의 주요 기능 중 하나는 서버에서 HTML 문서를 수신하는 것인데, 브라우저에서 요청한 HTML 문서가 PHP 등의 서버 사이드 스크립트 언어를 포함하고 있으면 서버 쪽에서 이 부분을 처리하여 결과를 브라우저에 송신하게 된다

데이터를 서버 사이드로 처리할 경우의 장단점

  • 장점: 서버 관리자의 입장에서, 데이터 위조의 가능성을 줄일 수 있다.
  • 서버 쪽의 데이터가 확실한 진위이며 클라이언트 쪽에서 위조해서는 안 되는 민감한 데이터의 경우 서버 사이드로 처리해야 한다. 예로 인터넷 뱅킹의 이체 관련 처리나 MMORPG의 게임 아이템 관련 처리에서는 클라이언트 사이드 처리를 최소화해야 한다.
  • 한편 클라이언트 사용자의 입장에서는 클라이언트 컴퓨터의 처리 부담이 줄어든다.
  • 단점: 서버 관리자의 입장에서, 서버의 처리 부담이 커져 결과적으로 서버 비용이 늘어날 수 있다.

클라이언트 사이드(client-side)란

 

네트워크의 한 방식인 클라이언트 - 서버 구조의 클라이언트쪽에서 행해지는 처리

 

HTTP 통신에 있어서 브라우저의 주요 기능 중 하나는 서버에서 수신한 HTML 문서를 해석하여 화면에 표시해 주는 것인데, HTML 문서가 동적인 부분을 갖고 있지 않다면 문서 수신이 끝나고부터는 서버와 교신하지 않고 브라우저가 클라이언트 사이드에서 처리하여 화면에 내용을 표시한다.

 

데이터를 클라이언트 사이드로 처리할 경우의 장단점

 

  • 장점
    • 서버 관리자의 입장에서, 서버의 처리 부담을 줄여서 결과적으로 서버 비용을 줄일 수 있다.
    • 처리하는 데이터가 보안에 민감한 경우, 클라이언트 내에서 처리가 가능한 부분에 대해서는 통신에 대비하여 암호화할 필요가 없으므로 암호화 소요가 줄어든다.
  • 단점
    • 서버 관리자의 입장에서, 클라이언트 사이드에서 처리한 결과를 되받아야 하는 경우, 결과의 진위성을 알기 어렵다. 반대로 말하면 클라이언트 쪽에서 데이터를 위조하기 쉽다. 따라서 서버 쪽의 데이터가 확실한 진위이며 클라이언트 쪽에서 위조해서는 안 되는 민감한 데이터의 경우 서버 사이드로 처리해야 한다. 예로 인터넷 뱅킹의 이체 관련 처리나 위의 MMORPG의 게임 아이템 관련 처리에서는 클라이언트 사이드 처리를 최소화해야 한다.
    • 클라이언트 사용자의 입장에서, 클라이언트 컴퓨터의 처리 부담이 많아진다.

'IT지식' 카테고리의 다른 글

프레임워크 Svelte 란 무엇인가  (0) 2021.05.24
런타임이란? 컴파일타임 과의 차이는?  (0) 2021.05.12