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


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.