# 통신
(1) 개념
웹 프로그래밍 세계에도 서로 대화가 필요하다. 이를 웹 통신이라고 한다. 이 대화방법은 보통 ‘데이터’로 이루어지고,
대상은 서버(웹 서버)와 클라이언트(웹 브라우저) 이다.
# 웹 통신은 약속(=프로토콜)이다
(1) 프로토콜
사람들끼리 대화를 하기 위해서 언어적, 문화적으로 정립된 약속이 있다. 이처럼 웹 또한 서버(웹 서버)와 클라이언트(웹 브라우저)가 대화하기 위해 서로 약속된 방식이 필요하다. 그 방식대로 서로 데이터를 주고 받아야만 오해가 없다. 즉, 오류가 없다.
약속을 우리는 프로토콜(protocol)이라고 한다. 특히, 웹에서 서버 ↔ 클라이언트간 주고 받은 상호간의 약속(프로토콜)을 HTTP 프로토콜이라고 한다.
웹에서는 브라우저와 서버가 데이터를 주고 받기 위해 HTTP 프로토콜을 사용하고 있다.
(2) 요청(Request)과 응답(Response)
서버와 클라이언트가 서로 데이터를 주고 받기(대화하기) 위해서는 항상 ‘요청(request)’을 해야 하고, 그에 따른 ‘응답(response)’을 준다.
보통 클라이언트가 대화를 시도하고, 서버는 요청을 받아, 그에 따른 응답을 주는 쪽을 의미한다.
(3) URL에 대해서
- protocol
- domain(sub domain, domain name)
- resource path(path/page)
- query variable, path variable
(4) 메서드
- GET - 조회
- POST - 생성
- PUT, PATCH - 수정(변경)
- DELETE - 삭제
https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods
HTTP request methods - HTTP | MDN
HTTP defines a set of request methods to indicate the desired action to be performed for a given resource. Although they can also be nouns, these request methods are sometimes referred to as HTTP verbs. Each of them implements a different semantic, but som
developer.mozilla.org
(5) 상태코드
클라이언트가 서버에 어떤 요청(request)를 하고 나면, 서버는 그에 맞는 응답(response)를 제공한다.
그 때, 각 응답은 상태코드를 갖게 되는데, 아래와 같다.
- 1xx(정보) : 요청을 받았으며 프로세스를 계속 진행합니다.
- 2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용하였습니다.
- 3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요합니다.
- 4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다.
- 5xx(서버 오류) : 서버가 명백히 유효한 요청에 대한 충족을 실패했습니다.
https://theqoo.net/square/1833240519
고양이를 통해 보는 HTTP 응답 코드 모음 - 스퀘어 카테고리
전형적인 서양 공돌이 감성이므로 익숙하지 않은 사람들은 어색하게 느껴질 수 있음. 출처는 이곳. https://http.cat/ 강아지 버전도 있으니 취향에 맞춰서 보면 되겠음. https://httpstatusdogs.com/ 1XX -
theqoo.net
'코딩 > React' 카테고리의 다른 글
axios 심화 - instance와 interceptor (0) | 2023.04.28 |
---|---|
비동기 통신 - axios, fetch (0) | 2023.04.28 |
json-server (0) | 2023.04.27 |
Redux Toolkit(Feat. Flux Pattern) (0) | 2023.04.24 |
TodoList_Lv2 (1) | 2023.04.21 |
댓글