20230523

아홍·2023년 5월 23일

2023.05

목록 보기
16/19

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

  1. start-line에는 요청 혹은 요청 수행 성공 여부를 적는다. start-line은 항상 한 줄이다
  2. HTTP Headers에는 요청에 대한 설명 혹은 메시지 본문에 대한 설명이 들어간다
  3. 요청의 모든 정보가 전성되었음을 알리는 빈 줄이 들어간다
  4. 요청과 관련된 내용이 옵션으로 들어가거나 응답과 관련된 문서가 들어간다. 이는 헤더에 명시된다.

요청 헤드 : 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]

0개의 댓글