분류 전체보기

공부 기록/이것이 백엔드 개발이다 With Java

EP5. 서버와 서버, 서버와 클라이언트

서버와 클라이언트는 고정된 존재가 아니라, 관계에 따라 역할이 달라진다 서버와 클라이언트를 처음 배울 때는 보통 "서버는 서비스를 제공하는 쪽, 클라이언트는 서비스를 요청하는 쪽"이라고 정리한다. 이 설명 자체는 맞지만, 여기서 더 중요한 것은서버와 클라이언트가 절대적으로 고정된 역할이 아니라는 점이다. 같은 애플리케이션도 상황에 따라 어떤 순간에는 서버가 되고, 또 다른 순간에는 클라이언트가 될 수 있다. 예를 들어 사용자가 브라우저에서 구글 검색을 요청했다고 해보자. 클라이언트가 네트워크를 통해 요청을 보내면,그 요청은 방화벽이나 스위치 같은 네트워크 장비를 지나검색 서비스를 담당하는 서버로 전달된다. 이 시점에서 검색 서비스는 사용자의 요청을 받아 처리하는 입장이므로 서버가 된다. 그런데 검..

공부 기록/이것이 백엔드 개발이다 With Java

EP4. 서버와 브라우저

“웹 브라우저로 https://www.google.com 에 접속하면 어떤 일이 일어나나요?” 이 질문은 면접에서도 자주 등장하는 대표적인 질문이다. 그 이유는 이 질문 하나만으로도 지원자가 웹, 네트워크, 브라우저, 서버, HTTP에 대해얼마나 연결해서 이해하고 있는지를 확인할 수 있기 때문이다. 겉으로 보기에는 단순히 주소를 입력하고 화면이 뜨는 일처럼 보이지만, 실제로는 그 뒤에서 여러 단계의 과정이 순서대로 이루어진다. 브라우저로 웹사이트에 접속하는 과정 먼저 브라우저가 어떤 서버에 접속하려면 그 서버의 위치를 알아야 한다. 네트워크에서 컴퓨터나 서버를 식별할 때 실제로 사용되는 것은 IP 주소이다. IP 주소는 숫자로 이루어져 있기 때문에 사람이 기억하고 사용하기에는 불편하다. 그래서 ..

공부 기록/이것이 백엔드 개발이다 With Java

EP3. 서버와 클라이언트의 개념

네트워크에서 서버와 클라이언트는 서비스를 주고받는 관계이다 네트워크 관점에서 서버와 클라이언트는 매우 단순하게 정리할 수 있다. 서비스를 제공하는 쪽이 서버이고, 그 서비스를 제공받는 쪽이 클라이언트다. 예를 들어 웹사이트를 운영하는 서버가 있고,사용자의 브라우저나 앱이 그 서버에 접속해 정보를 요청한다면 브라우저나 앱은 클라이언트가 된다. 이 관계에서 중요한 점은 서버는 항상 준비된 상태로 있어야 한다는 것이다. 클라이언트는 사용자가 앱을 실행할 때만 존재할 수도 있고, 요청을 한 번 보낸 뒤 사라질 수도 있다. 하지만 서버는 언제 어떤 클라이언트가 접속할지 알 수 없기 때문에,필요한 순간에 서비스를 제공할 수 있도록 계속 동작하고 있어야 한다. 결국 서버는 클라이언트의 요청을 기다리는 입장..

공부 기록/이것이 백엔드 개발이다 With Java

EP2. 백엔드 개발이란?

웹 개발은 HTTP라는 프로토콜을 통해 정보를 교환한다 웹 개발을 이야기할 때 가장 먼저 이해해야 하는 것은웹 서비스가 결국 정보를 주고 받는 방식 위에서 동작한다는 점이다. 사용자가 브라우저에서 어떤 주소에 접속하거나 버튼을 누르면, 그 순간 브라우저는 서버에게 요청을 보낸다. 그리고 서버는 그 요청을 해석해 필요한 데이터를 찾거나 처리한 뒤 다시 응답을 돌려준다. 이때 요청과 응답이 오가는 약속된 규칙이 바로HTTP(HyperText Transfer Protocol)이다. 예를 들어 로그인 버튼을 누르면 브라우저가 로그인 정보를 서버로 보내고 서버는 이를 검증한 뒤 성공 여부를 응답한다. 게시글 목록을 조회할 때도 브라우저는 목록 데이터를 요청하고, 서버는 데이터베이스에서 조회한 결과를 응답으..

Yang Ji Woo
'분류 전체보기' 카테고리의 글 목록 (7 Page)