서버(server)
: 정보를 주는 쪽의 컴퓨터; 클라이언트의 요청에 대응하는 프로그램 자체를 의미하기도 함
클라이언트(client)
: 서버에게 정보를 요청해서 제공받는 컴퓨터; 컴퓨터 안에서 정보를 요청하는 프로그램을 뜻하기도 함
DNS(Domain Name System)
: 입력한 도메인에 맞는 IP주소를 반환 해주는 역할; DNS도 서버의 일종
URL(Uniform Resource Locator)
: 웹에서 자료가 어디있는지 알려주는 장치, 일관된 규칙에 맞게 작성해야한다
- scheme = 어떤 방식으로 서버와 통신하고 싶은지
: http, https(=보안이 강화된 http)
- host = domain_name
: sub_domain + secondary_domain + top-level_domain
- path = 어떤 리소스를 받고 싶은지, 어떤 요청을 하고 싶은 지
- ?query = 추가적인 정보
- #anchor = 페이지에 가자마자 특정세션으로 갈 수 있도록 함
정적 웹페이지 (Static Web Page)
: 미리 만들어둔 파일을 그대로 제공하는 것
동적 웹페이지 (Dynamic Web Page)
: 요청에 따라 서버가 내용을 채워 넣어서 매번 새로운 html을 제공하는 것
+) 서버 사이드 동적 웹페이지
: 서버에서 모든 데이터를 채워넣고 클라이언트에게 보내는 페이
+) 클라이언트 사이드 동적 웹페이지
: 이미 페이지가 로딩된 상태에서 추가적으로 데이터를 요청하는 경우
➡️➡️클라이언트가 데이터를 어떻게 추가 요청??
' API '
: 클라이언트가 서버에게 데이터를 요청할 수 있도록 하는 기능
API (: Application Programming Interface)
Interface의 한 종류 = 두 개의 소프트웨어(프로그램)가 소통할 수 있게 해주는 역할
내부적으로 복잡한 사항들은 가려놓고 api 설명서만 잘 따르면 간편하게 소통할 수 있음 (보안성 향상도 가능)
다른 회사들이 제공한 api도 사용 가능
>> 웹 API <<
클라이언트가 서버에 http 요청을 보내고 서버가 적절한 http 응답을 하는 것
>> restful API
권장되는 방식을 잘 지켜서 사용한 api
JSON (: JavaScript Object Notation)
: 클라이언트와 서버가 데이터를 주고 받는 형식; 자바스크립트가 객체를 표기하는 방식
http 메소드
: get(데이터 받아옴), post(데이터 추가), delete(데이터 삭제), put(존재하는 데이터 통째로 수정), patch(존재하는 데이터 부분 수정)...