1월 28일 개발일지

Undefined 기술블로그 ·2021년 1월 28일
0
post-thumbnail

오늘 적용해 본 내용을 정리해보자.

HTTP 통신

HTTP 통신은 client의 요청이 있을 때만 server가 응답하여 처리를 한후에 연결을 끊는방식이다

client가 요청을 보내는 경우에만 server가 응답하는 단방향적 통신으로 server가 client로 요청을 보낼수가없다.

  • soket

양방향 통신인 soket통신은 서로 통신이 시작되면 계속 유지가 되기때문에

실시간 통신이 필요한 경우에 자주 이용 된다.

예를들면 streaming 중계나 채팅,온라인게임 등 즉각적으로 정보를 주고 받는 경우에 사용한다.

만약 http 통신으로 구현했다고 가정하면, 동영상이 종료되는 순간까지 계속
http 통신을 보내야하고 이러한 구조는 계속 연결을 요청하기 때문에 부하가
걸리게 된다.

오늘 여러방식중에 post 방식을 접했다.

POST 방식

post 방식은 body에 정보를 넣어서 요청한다.

특정한 키의 값을 요청할때에는 서버에서의 처리하는 로직에 따라 다르겠지만
대부분 json 형태로 내려준다.


검색부분에 숫자를 입력하고 검색을 하면 특정한 키인 id로 접근해서
서버의 정보 3번째를 가져오게된다.


저장되어있는 데이터가 Map() 이기때문에
데이터를 가져올수있는 get메소드를 통해 접근 해야한다.

REST API

로이필딩에 의해 탄생되었다. 웹의 장점을 최대한 활용할수있는 아키텍처로 발표되었고 통신방식은

HTTP의 메소드 (GET, POST, PUT, DELETE) 표현방식을 사용한다.

rest API라고 불릴려면 여러 제약들이 있는데

현재 restAPI는 규약을 따르지 않다고 한다.

fetch

fetch() 함수는 첫번째 인자로 URL, 두번째 인자로 옵션 객체를받고
Promise 타입의 객체를 반환한다.
반환된 객체는 ,api 호출이 성공했을 경우에 응답 (responese) 객체를
resolve하고,실패했을 경우 예외(error)객체를 reject 한다.

옵션 객체에는

HTTP 방식(method) ,
HTTP 요청헤더(headers),
HTTP 요청전문(body)등을 설정해 줄수 있다.

응답(response)객체로 부터는

HTTP 응답상태(status),
HTTP(응답헤더(headers),
HTTP응답전문(body)등을 읽어 올수 있다.

fetch()함수는 디폴트로 GET방식으로 작동하고 GET방식은 요청 전문을 받지 않기 때문에 옵션 인자가 필요가 없다

대부분 REST API 들은 JSON 형태의 데이터를 응답하기 때문에,
응답(response)객체는 json() 메서드를 제공한다.

오늘은 데이터 통신과 rest API에 대해서 알아보고 HTTP 통신이

어떻게 이루어지는가에 대해서 조금은 익숙해진 하루인것 같다

다시한번 체크하고 이해하면서 마무리 해보자 !

profile
정의 되지 않은 유연한사람이 되고싶다.

0개의 댓글