AJAX Asynchronous JavaScript And XMLHttpRequest
: 필요한 데이터만 비동기적으로 받아와 화면에 표시할 수 있다 ex. 검색엔진에서 자동완성되는 검색어들, 무한 스크롤이 발생할 때마다 데이터를 가져오는 사이트
Fetch를 사용하여 페이지를 이동하지 않아도 서버와 통신한다
장점
-서버가 HTML을 완성해서 보내지않아도 웹페이지를 렌더링할 수 있다
-표준화되어 브라우저 상관없이 사용 가능하다
-필요한 일부분만 렌더링하기 때문에 빠르고 더 많은 상호작용이 가능하다
-필요한 데이터를 텍스트 형태로 보내기 때문에 비교적 데이터의 크기가 작다
단점
-HTML의 뼈대만 있고 데이터가 없기 때문에 SEO에 불리하다
-뒤로가기 등의 기능을 구현하려면 별도의 History API가 필요하다
HTTP HyperText Transfer Protocol
문서를 전송하기 위한 Application Layer 프로토콜. 웹 브라우저와 서버의 소통을 위해 디자인 되었다.

출처 : https://developer.mozilla.org/ko/docs/Web/HTTP/Messages
요청 헤드 : start-line + HTTP Header
본문body : HTTP 메시지의 페이로드
HTTP는 통신 과정에서 클라이언트나 서버의 상태를 확인하지 않는다.
상태를 저장하지 않으므로(무상태성Stateless) 필요하다면 쿠키나 세션 등을 통해 상태를 확인해야 한다.
REST API Representational State Transfer : HTTP를 통해 요청과 응답을 정의는 방식
-0단계 : HTTP를 사용
-1단계 : 개별 리소스와 통신을 준수해야한다. >> 리소스에 맞는 엔드포인트를 사용해야 한다.
이 때 엔드포인트는 동사, HTTP메서드, 행위에 대한 단어 사용은 지양하고
리소스에 집중해 명사 형태로 작성하는 것이 바람직하다.
-2단계 : CRUD에 맞게 적절한 HTTP 메서드를 사용하는 것
-3단계 : 응답에는 리소스의 URI를 포함한 링크 요소를 삽입하여 작성한다
https://openweathermap.org/current#builtin
날씨 api를 사용해봤다.
음..... 생각보다 간편은 한데 잘하고는 있나....
일단 내가 사용해본 바로는! 옵션 순서는 상관없는 거 같음
https://api.openweathermap.org/data/2.5/weather?q=Seoul&units=metric&lang=kr&appid=[id]