웹 개발과 관련하여“백엔드 / 서버 측”을 이해하지 못합니까?


18

웹 개발 세계에서 백엔드 / 서버 측 프로그래머는 정확히 무엇을합니까? 나는 전체 개념을 실제로 이해하지 못한다고 생각합니다.

PHP로 HTML / CSS 레이아웃과 웹 사이트 디자인 및 약간의 SQL을 수행했습니다. 또한 소량의 JavaScript / JQuery를 수행했습니다.

그러나 스크립팅 언어 (Rails / Python / etc)와 같은 "백엔드"작업을 이해하지 못합니다. 그들과 정확히 무엇을합니까?


8
이 사이트의 Q 및 AS는 어디로 가고 있으며 어떻게 생각하십니까?
Mayank

답변:


17

PHP를 사용했다면 서버 측 작업을 완료 한 것입니다!

평신도의 관점에서, 클라이언트 측 코드는 컴퓨터, 웹 브라우저에서 실행되고 서버 측 코드는 인터넷의 컴퓨터에서 실행되며 서버 측 계산 결과는 인터넷을 통해 인터넷으로 전송됩니다. 브라우저.

SQL 문을 실행하는 PHP 코드를 작성하면 원격 컴퓨터 (서버)에서 SQL 호출이 이루어지고 그 결과 (일반적으로 생성 된 HTML 형식)가 인터넷을 통해 브라우저로 전송됩니다.

반면에 JavaScript는 브라우저에서 실행됩니다. CSS도 마찬가지입니다.

자세한 내용은 클라이언트 측과 서버 측 프로그래밍의 차이점을 확인 하십시오.


13

기본 전제는 다음과 같습니다.

여기에 이미지 설명을 입력하십시오

사용자는 자신의 입력을 제공하고 어떤 종류의 네트워크를 통해 전송 한 다음 서버는 입력에 따라 마술을 수행합니다.

기본적으로 모든 보안 및 유효성 검사가 서버 측에서 수행되기를 원합니다. 눈에 거슬리지 않는 양식 유효성 검사와 같이 클라이언트 쪽을 실행하는 기능이 있습니다 (여전히 서버 쪽의 유효성을 검사해야합니다!).

큰 질문 : 왜?

사용자는 자신의 컴퓨터에서 정보를 수정할 수 있습니다. 예를 들어 사용자가 게임을 '해킹'할 수 있도록 메모리 값을 수정하는 게임 트레이너를 참조하십시오. 컴퓨터, 물리적 구내에서 핵심 작업을 수행하는 경우 보안 검사를 조작 할 가능성이 크게 줄어 듭니다.


6
자유형 서클을 사용하지 않았습니다. :(
glasnt

그렇다면 웹 애플리케이션 프레임 워크의 요점은 정확히 무엇입니까?

3
@Mercfh : 단순화합니다. 그들은 당신에게 당신의 비전을 세우는 기초를 제공합니다. 당신이 할 원하는 인증 프레임 워크를 구축? 날짜와 뷰, 컨트롤러 및 라우팅을 처리하는 것은 어떻습니까? 학업이 아니라면 그렇게 생각하지 않습니다. 처음에 해결해야 할 문제가 있었기 때문에 프레임 워크를 원하지만 처리 날짜는 그렇지 않았습니다. :)

0

시스템의 클라이언트와 상호 작용하는 시스템을 설계 할 때 프런트 엔드를 설계합니다. 여기서 client라는 단어는 상당히 크지 만 기본적으로 외부 세계에 인터페이스를 제공 할 때 프런트 엔드에서 작업하고 있음을 의미합니다.

대부분의 웹 사이트는 프론트 엔드에 불과합니다. 즉, 외부 세계에 정보를 제공하며 대부분의 경우이 정보는 HTML 파일에 텍스트로 매우 간단하게 저장 될 수 있습니다.

서비스를 제공하고 프런트 엔드가 사용할 기능을 캡슐화해야 할 때 백엔드를 설계합니다. 이를 통해 일부 워크로드를 클라이언트 (프런트 엔드)에서 서버 (백 엔드)로 대체 할 수 있습니다. 시스템에 동시에 액세스 할 수있는 다른 클라이언트의 정보를 조정해야하는 경우에이를 수행합니다. 또는 동적 데이터를 수집하기 위해 중앙 데이터 저장소를 사용해야하거나 특정 보안 요구 사항이 필요한 경우. 이 목록은 결코 철저하지 않고 간단한 예일뿐입니다.

간단히 말해 프론트 엔드 (클라이언트)는 외부 세계에 정보를 제공 할 것입니다. 일반적으로 이들은 HTML이나 다른 방식으로 GUI를 통해 사람입니다.

백엔드는 프론트 엔드가 사용할 서비스를 중앙 집중화하는 수단을 제공합니다. 백엔드를 사용하는 것은 필수는 아니며 시스템에 복잡성을 추가하지만 구축하려는 시스템 고유의 복잡성을 더 잘 관리 할 수 ​​있습니다.

예를 들어 Wiki 와 같은 서비스 를 프론트 엔드를 통해서만 제공하는 것이 가능 하지만 백엔드를 사용하여 데이터를 저장하고이를 프론트 엔드에 제공하는 것이보다 자연스러운 방식으로 해결 될 수 있다는 많은 제한이 있습니다.


대부분의 웹 사이트가 프론트 엔드라고 말한 것을 제외하고는 설명이 훌륭합니다. 아마도 2003 년에, 그러나 오늘날 나는 대다수와 마찬가지로 "가장 많이"는 백엔드 / 데이터베이스 상호 작용이 있다고한다.
Kyle

SO, Facebook 및이 세상의 모든 것을 살펴보면 정적 웹 사이트를 박물관으로 옮기지 만 여전히 많은 사이트, 회사의 첫 페이지 등이 있습니다. 그것은 단지 워드 프레스를 설치하고 CSS를 약간 조정하면 양식을 유지하는 것이 훨씬 쉬운 동일한 결과를 얻을 수 있기 때문에 상당히 줄어드는 경향이 있다고 말했습니다. 프런트 엔드는 사이트가 표시하는 RESTfull API를 지정하지만 백엔드는이 API가 구현되는 방식입니다.
Newtopian

0

프론트 엔드는 브라우저에서 실행되는 것들이며, PHP와 같은 백엔드는 서버에서 실행되고 데이터베이스에 데이터를 저장하고 그런 종류의 것들을 수행합니다.


0

제 생각에는 서버 측 작업 (이미 언급 한 것은 웹 사이트에 액세스하는 서버에서 실행되는 모든 것입니다)은 사이트에 실제 생활을 제공합니다. 대부분의 기능은 여전히 ​​클라이언트 측 기술을 사용하여 달성 할 수 있지만 제 생각에 이것은 훨씬 복잡한 접근 방식이며 클라이언트가 클라이언트 측 코드에있는 모든 것에 액세스 할 수 있다는 점에서 훨씬 덜 안전합니다. PHP와 ASP는 일부 컴퓨팅 활동을 수행 한 후 브라우저에 웹 페이지 컨텐츠를 제공하기 위해 거의 독점적으로 사용되는 하이브리드 프로그래밍 언어입니다. 파이썬, 루비, 자바 또는 다른 프로그래밍 언어로 작업을 시작하면 프로세스가 끝날 때 결과 정보를 클라이언트에 보내기 위해 더 많은 기능과 기능이 있지만 약간 더 많은 작업이 필요합니다.


0

일반적인 웹 앱 / 웹 사이트에는 양면이 있습니다.

  1. 앞면-UI / 레이아웃 / 색상 / 글꼴 등의 컨트롤

  2. 뒷면-데이터베이스에서 데이터 조작 또는 파일 조작을 처리하고, 많은 경우 논리를 수행합니다. mySQL / PostreSQL / MS SQL Server와 같은 소프트웨어.

뒷면은 엑셀 파일 생성, 보고서 생성, 계산, 다른 서버에서 데이터 가져 오기 등 많은 작업을 수행 할 수 있기 때문에 훨씬 강력합니다.

그런 다음 해당 데이터를 준비하고 표시합니다 (전면 설정 방법).

어느 쪽이든 잘하는 것은 많은 노력, 연습, 학습 및 자기 훈련입니다.

당신이 최고가되기를 원한다면, 연습을하고 배우기를 멈추지 말고, 모든 답을 아는 것으로 가정하지 마십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.