서버(server) : 클라이언트에게 네트워크를 통해 서비스하는 컴퓨터
를 의미한다.
말그대로 어떤 요청을 원하는 대상에게 요청에 대한 응답을 넘겨주는 모든 것들을 (serve + er) 서버
라고 함.
그렇다면 웹에서는 서버는 어떻게 동작할까?
먼저 웹 환경에서는 브라우저가 클라이언트 역할을 한다.
주소에 어떤 도메인이나 컴퓨터 주소를 치면 해당 컴퓨터(서버)가 요청에 대한 응답을 하는데
이 때, 보통은 프론트 서버, 백엔드 서버로 나뉘어짐.
프론트 서버
는 어떤 주소에 대한 요청을 보냈을 때, markup Language (html ,css) 를 보내줘서
사용자에게 GUI 환경을 제공해주는 서버
를 의미한다. (화면을 그려주는 역할)
백엔드 서버
는 프론트 서버와 통신하는 컴퓨터로도 볼 수 있는데
사용자가 프론트서버에서 어떤 동작을 하였을 때, 사용자 정보나 해당 어플리케이션의 데이터에 접근하는 것을 가능하게 해주는 서버
를 의미한다.
사실, GUI 환경을 제공하는 컴퓨터와 어플리케이션 데이터들을 제공하는 컴퓨터를 한 곳에 둘 수도 있지만,
데이터가 많아지면 분리해서 따로 컨트롤 하는 것이 좋다.
1. 속도적인 측면 : 서버를 한 곳에 모아둘 경우, 속도가 느리다.
프론트 , 백엔드를 분리해서 통신을 하게되면
각자 다른 컴퓨터가 서로 통신을 하는 것이기 때문에 cors 문제가 발생.
서버에서 프론트의 요청을 허용해주는 작업을 따로 해주어야한다.
CORS (Cross-Origin Resource Sharing) : 추가 HTTP 헤더를 사용하여 브라우저에게 한 출처에서 실행중인 웹 응용 프로그램의 다른 출처의 선택된 자원에 대한 접근 권한을 알려주는 메커니즘
감사합니다