CS

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

SeaPlus 2021. 7. 1. 15:18

[클라이언트 사이드]

 

 

 

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

) HTTP 통신에서 HTML문서가 동적인 부분을 갖고 있지 않다면 문서 수신이 끝나고 나서는 서버와 교신하지 않고 브라우저가 클라이언트 사이드 에서 처리하여 화면에 내용을 표시

 

클라이언트 사이드 스킬: java script, CSS, HTML

 

● 클라이언트 사이드 프로그램: 웹브라우저(크롬, 파이어폭스, 인터넷, 마이크로소프트 앳지)

 

클라이언트 사이드 진행 흐름 예시

1. 클라이언트가 넷플릭스 메인 웹 페이지에 들어갔다.
2. 서버가 클라이언트에게 웹페이지 구동시 필요한 언어를 보낸다.
3. 클라이언트 컴퓨터 내부 웹프라우저 라는 애플리케이션에 의해 처리하고 화면으로 보여준다.

 

 

 장점 : 서버의 처리 부담을 줄여서 결과적으로 서버 비용을 줄일 있다.

처리하는 데이터가 보안에 민감할 클라이언트 내에서 처리가 가능한 부분에 대해서는 통신에 대비하여 암호화 필요가 없으므로 암호화 소요가 줄어든다.

 

단점: 클라이언트 사이드에서 처리한 결과를 서버에서 받아야하는 경우 결과 진위성 파악 어려움 (데이터 위조 가능성) 

 

클라이언트 사이드에서 대부분의 웹 구동시 필요한 무거운 부분을 처리한다.

1. 너무 많은 코드를 클라이언트 사이드에서 부담하고 있다.

2. 오랜시간동안 웹 브라우저를 사용하고 있기 때문에 메모리 누수 발생.

=> 한페이지에서 계속해서 바뀌어지는 동적 웹페이지 기술때문에 심화

     (인터넷이 움직이는 메커니즘은 기본적으로 정적인 페이지를 교환하기때문에 페이지 자체를 동적으로 바꿀수 없다.)

 

 

[서버 사이드]

 

 

 

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

) HTTP 통신에서 HTML문서가 PHP 등의 서버 사이드 스크립트 언어를 포함하고 있으면 서버 쪽에서 부분을 처리하여 결과를 브라우저에 송신

 

● 서버 사이드는 클라이언트에 전달할 정적 웹페이지(HTML, Java Script)를 만들어서 보내며 정말 중요한 작업들(사용자 유효성, DB관련 등)을 수행한다.

 

서버사이드 스킬: PHP, python, Node.js

 

장점: 데이터 위조의 가능성을 줄일 있다.

 

 단점: 서버의 처리 부담이 커져 유지비용 증가.

 

 

[서버 사이드와 클라이언트 사이드의 상관 관계]

제한적인 서버수에 비해 클라이언트는 압도적으로 많기때문에 가급적 서버의 부담을 줄일수 밖에 없다!!!!

 

위와 같은 이유 때문에 서버- 클라이언트 형식은 아래와 같이 발달하게 되었다.

서버 사이드  ->  처리함에 있어 중요하게 다루어야할부분(DB관리, 사용자 유효성)처리

클라이언트 사이드 ->  중요하지않고 무거운 부분들 처리

 

 

 

 

그 외의 이야기

프론트 앤드 개발자  =>  클라이언트 사이드 언어를 다루고 구현할줄 아는 사람

 

  백엔드 개발자  =>  서버 사이드 언어를 다루고 구현할줄 아는 사람

 

 

( 참고 : https://nitro04.blogspot.com/2020/06/web-sever-side-client-side-1.html )

'CS' 카테고리의 다른 글

Kernel(커널)  (0) 2021.07.02
컴파일러 & 인터프리터  (0) 2021.07.01
정적 프로그래밍 언어 & 동적 프로그래밍 언어  (0) 2021.07.01
서버(SERVER)  (0) 2021.06.30