웹개발자의 봄, Spring 1주차_DAY3
웹의 기본 개념
웹의 기본개념에서 API, 웹의 동작개념, 스프링의 담당 영역을 알아본다.
=============================
서버와 클라이언트
클라이언트
- 서버와 이어진 모든 단말기(컴퓨터의 경우는 WI-FI에, 모바일은 모바일 네트워크에 연결되어 있다)와 단말기에서 이용하는, 웹에 접근하는 소프트웨어를 지칭
- 보통은 브라우저이나, 게임과 같이 별도의 클라이언트가 서버랑 호응하는 경우도 있음.
- 사용자의 입력을 주로 처리하며 이를 서버에 요청을 보냄
서버
- 웹페이지, 사이트, 앱을 저장하는 컴퓨터
- 클라이언트의 요청을 받아서 처리하고, 이를다시 클라이이언트에 응답을 보냄
- 어떠한 형태로든 클라이언트의 요청을 받아 정보를 제공하면 서버 컴퓨터가 될 수 있음
HTML, CSS, Javascript
HTML
- HTML 은 Hyper Text Markup Language 약어 이다.
- HyperText(웹 페이지에서 다른 페이지로 이동할 수 있도록 하는 것)
- 웹페이지를 구성 하는 뼈대 같은 역할을 수행한다.
CSS
- CSS(Cascading Style Sheet)는 마크업 언어가 실제 표시되는 방법을 기술하는 언어
- HTML 과 XHTML 에 주로 쓰이며, XML에서도 사용할 수 있다
- HTML 문서를 스타일링 하는 언어( W3C 의 표준)로 HTML 문서에서 link 요소를 사용해 CSS 파일을 읽어들이면 HTML 문서의 구조를 CSS를 통해 스타일링 하게 된다
JavaScript
- 정적인 HTML 콘텐츠를 프로그램 구현을 통해 동적으로 변경하거나 사용자와의 상호작용을 담당
- 객체(Object) 기반의 스크립트 언어로 기본적으로는 웹 브라우저에서 해석되는 인터프리터 언어이며 Node.js와 같은 프레임워크를 사용하면 서버 프로그래밍에도 사용할 수 있다
- HTML의 내용, 속성, 스타일을 변경 할 수 있다.
- 이벤트를 처리하고 사용자와의 상호작용을 가능하게 함
- AJAX 기술을 이용해 서버와 실시간 통신 기능을 제공
API
개념
API(Application Programming Interface, 응용 프로그램 프로그래밍 인터페이스)는
응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수
있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한
인터페이스를 제공한다.
.이것만 보고 API가 뭔지 단박에 이해가 가셨다면 당신은 똑똑이, 나는 도저히 이해가 안가는 초보라...
너무 감사하게도 나같은 사람이 이해 할 수 있는 언어로 설명한 글을 적어둔다.
출처 : 봐도봐도 모르겠는 API 개념 설명 (Application Programming Interface) (tistory.com)
손님(내가 만드는 프로그램)이 자리에 앉아 웨이터(API)에게 주문을 한다.
그럼 웨이터는 내 주문 내역을 주방(API 제공자. 기상청, 공공포탈 등)에 갖다준다.
주방에서 요리를 해 웨이터에게 주면 웨이터가 다시 나에게 음식을 가져다준다.
웨이터가 손님의 주문을 주방으로 전달하는 매개체 역할을 하는 것이다.
여기서 손님은 주방에서 무슨 일이 일어나는지 잘 모른다.
대개는 관심도 없으며 관심을 가질 필요도 딱히 없다. 이것이 API의 장점이다.
내가 가져다쓰려는 API의 기능을 어떻게 구현하는지 몰라도 되고
난 그저 API가 갖다주는 걸 사용만 하면 된다(식사한다)는 것이다.
시간과 노력을 동시에 아낄 수 있다.
이처럼 API는 처음부터 개발하거나 유지 보수할 필요가 없는 외부 데이터와 기능에
접속할 수 있게 해준다.
조금 요약 해보자면
- 개발자가 프로그램을 만드는데 필요한 어떤 기능을 직접 구현하지 않고 API 제공자들이 제공하는 데이터와 모듈 등을 갖다쓸 수 있게 해주는 게 API와 API 문서이다.
- 예를 들어 내가 네이버를 통해 내 페이지를 네이버 서비스에 공유하고 싶다면 네이버에서 제공하는 공유하기 API를 문서에서 제시하는대로 맞춰서 쓰면 된다.
- API가 비공개 되었다면 쓸 수 없다. 또 공개 API라고 하더라도 호출 횟수가 많아지면 비용을 지불해야 할 수도 있다.
스파르타 코딩클럽 강의 설명에서의 API 개념

Like this....ㅋㅋ API...쉽게 생각하면 좋겠다.
웹의 동작 개념
HTML을 받을경우
- 브라우저는 요청을 보내고, 받은 HTML파일을 브라우저내에 그려주는 일을한다.
- "요청" 이라는 것은 서버가 만들어 놓은 API라는 창구에 미리 정해진 약속 대로 요청을 보내는 것이다.
- ex) https://naver.com/ 에서 "/" 는 naver.com이라는 서버에 있는 "/" 창구로 요청을 보내겠다는 이야기다.
데이터만 받는 경우
- 자바스크립트를 통해 데이터만 받아오는 경우도 있다
- 예를 들어 공연 티켓을 예매하는 상황을 생각해보면, 좌석을 선택할때나 선택한 좌석을 다시 클릭하여 취소할때,
매번 브라우저가 리프레시 된다면 조금 불편할 것이다. 이러한 상황에서는 데이터만 받아와 같은 화면에
갈아끼워 주는 기술이 필요한 것이다 - 이러한 형식을 JSON 형식이라 칭한다
Spring 담당영역
그렇다면 스프링은 어디를 담당하는 것일까?
당연히 서버를 담당한다고 알고 있었지만, 대충 아는것은 모르는 것 보다 못하듯, 다시금 스파르타에서 가르쳐주는 데로
정리해본다.

"건방져 지지 말자, 확실하게 알고 누군가를 이해시킬 수 없다면, 그것은 모르는 것이다. "
'Web > Spring' 카테고리의 다른 글
Sparta Coding Club_웹개발자의 봄, Spring (JPA Start) (0) | 2021.09.04 |
---|---|
Sparta Coding Club_웹개발자의 봄, Spring (@RestController) (0) | 2021.09.01 |
Sparta Coding Club_웹개발자의 봄, Spring (JAVA 기초문법) (0) | 2021.09.01 |
Sparta Coding Club_웹개발자의 봄, Spring (Gradle 시험 작동) (0) | 2021.08.31 |
Sparta Coding Club_웹개발자의 봄, Spring (개발환경구성) (0) | 2021.08.30 |