클라이언트 사이드

클라이언트-서버 구조의 클라이언트 쪽에서 행해지는 처리

클라이언트 사이드(client-side)란 네트워크의 한 방식인 클라이언트-서버 구조의 클라이언트 쪽에서 행해지는 처리를 말한다.[1][2][3][4]

예시 편집

  • HTTP 통신에 있어서 브라우저의 주요 기능 중 하나는 서버에서 수신한 HTML 문서를 해석하여 화면에 표시해 주는 것인데, HTML 문서가 동적인 부분을 갖고 있지 않다면 문서 수신이 끝나고부터는 서버와 교신하지 않고 브라우저가 클라이언트 사이드에서 처리하여 화면에 내용을 표시한다.
  • MMORPG(대규모 다중 사용자 온라인 롤플레잉 게임)에서도 클라이언트-서버 구조가 사용된다. 대부분의 MMORPG는 화려한 그래픽 효과를 사용하는데 이를 위해서는 많은 연산이 필요하며 이러한 연산을 서버 쪽에서 모두 부담할 수 없으므로 그래픽 처리나 소리 처리의 대부분을 클라이언트 사이드로 처리한다.

장단점 편집

서버 사이드로 처리할 때와 비교하여 데이터를 클라이언트 사이드로 처리할 경우의 장단점은 다음과 같다.

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

같이 보기 편집

각주 편집

  1. “What are the differences between server-side and client-side programming?”. 《softwareengineering.stackexchange.com》. 2016년 12월 13일에 확인함. 
  2. Lehtinen, Rick; Russell, Deborah; Gangemi, G. T. (2006). 《Computer Security Basics》 2판. O'Reilly Media. ISBN 9780596006693. 2017년 7월 7일에 확인함. 
  3. JS (2015년 10월 15일). “Week 4: Is There a Difference between Client Side and Server Side?”. 《n3tweb.wordpress.com》. 2017년 7월 7일에 확인함. 
  4. Espinosa, Christian (2016년 4월 23일). “Decoding the Hack” (PDF). 《alpinesecurity.com》. 2017년 7월 7일에 확인함. [깨진 링크(과거 내용 찾기)]