웹 서비스: 사용자가 웹을 잘 사용할 수 있도록 돕는 것.
like 식당의 종업원! 고객이 요청한거 제공해준다!
클라이언트, 서버 개념
- 클라이언트 사이드: 사용자, 브라우저
(이 둘을 브라우저 하나로 봐도 무방하다)- 서버 사이드 = 리퀘스트를 받을 준비가 되어있는 컴퓨터!
서버는 어떤 컴퓨터도 다 가능하다
서버가 될 수 있는 것들
(1) 내 컴퓨터
로컬 호스트!
ex. localhost =127.0.0.1
다만 내 컴퓨터의 프로그램이 돌고있어야(running) 접근 가능하다
(2) 클라우드 컴퓨팅
ex. aws
애플리케이션 서비스에 필요한 네트워크 연결 하드웨어를 소유 및 유지 관리하고
고객은 웹 애플리케이션을 통해 필요한 것을 사용하는 방식이다
웹 서비스 동작 방식
클라이언트client: url로 요청request
서버: get/post방식으로 응답response
ex. 네이버 사전을 눌렀더니 사전 url로 준다render
ex. 로그인 id password를 url에 담아서 서버에 보냄
->서버에서 로그인 성공/실패에 맞춰 다음페이지 렌더링
포트port: IP 주소가 가리키는 PC에 접속할 수 있는 통로.
(서버엔 일단 접근이 불가하도록 방화벽을 세워두고 요청한 부분만 여는 방식)
비동기: 완료 여부에 상관없이 여러가지 함수를 동시에 실행
- 쾌적한 ux(user experience)를 위해 좋다
- skeleton ui 등 사용자 편의를 위해 실행되지 않은 부분이 표시되는 ui를 많이 쓴다
- 콜백callback 함수 동반한다
동기: 코드가 위에서부터 순차적으로 다음 코드 실행
- 완료되어야 진행되기 때문에 동시에 다른 일은 진행될 수 없다
- 비동기보다 직관적이고 간단하다
get / post 의 차이
get: 파라미터를 노출o
post: 파라미터를 노출x
get방식이 디폴트.
- parameter: 매개 변수! 함수 작동에 반드시 입력되어야 하는 변수
ex. 로그인 할 때 입력값인 id와 password는 개인정보로 노출이 되면 안 된다. 따라서 post가 적절하다.
< 신입개발자는 로깅하며 프로젝트 익히자! >
ex. print() / console.log 등
log란: 일지! (=record)
기록이 다 찍히는것.
터미널에서 자주 사용되는 명령어