학습 목표
- HTTP 프로토콜의 특징과 Request & Response 구조에 대한 이해
- URL 이 무엇인지에 대한 이해
- HTTP 통신에 이용되는 여러 메서드와 상태코드에 대한 이해
웹 통신은 약속(=프로토콜) 입니다
프로토콜
사람들끼리 대화를 하기 위해서 언어적, 문화적으로 정립된 약속이 있습니다. 이처럼 웹 또한 서버(웹 서버)와 클라이언트(웹 브라우저)가 대화하기 위해 서로 약속된 방식이 필요합니다. 그 방식대로 서로 데이터를 주고 받아야만 "오해" 가 없습니다. 즉, "오류" 가 없습니다.
약속을 프로토콜(protocol) 이라고 합니다.
특히, 웹에서 서버 ↔ 클라이언트 간 주고 받은 상호간의 약속(프로토콜)을 HTTP 프로토콜이라고 합니다.
웹에서는 브라우저와 서버가 데이터를 주고 받기 위해 HTTP 프로토콜을 사용하고 있습니다. 프론트엔드 개발을 하는 사람이면 반드시 이 약속을 알아야만 더 깊은 수준의 개발을 할 수 있습니다. 😎
요청(Request)과 응답(Response)
서버와 클라이언트가 서로 데이터를 주고 받기(대화하기) 위해서는 항상 '요텅(request)'을 해야 하고, 그에 따른 '응답(response)' 을 줍니다.
보통 클라이언트가 대화를 시도하고, 서버는 요청을 받아, 그에 따른 응답을 주는 쪽을 의미합니다.
URL 에 대해서
이미 url 이라는 용어는 많이 들어보았을 겁니다. 구조를 뜯어보면 아래와 같은 용어들이 등장합니다.
- protocol
- domain(sub domain, domain name)
- resource path(path/page)
- query variable, path variable
[출처 : https://www.hostinger.in/tutorials/what-is-a-url]
메서드
종류만 언급하면 대표적으로 다음과 같이 네 가지를 들 수 있습니다.
- 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
상태코드
클라이언트가 서버에 어떤 요청(request)을 하고 나면, 서버는 그에 맞는 응답(response)를 제공합니다. 그 때, 각 응답은 상태코드를 갖는데요. 아래와 같습니다.
- 1xx(정보) : 요청을 받았으며 프로세스를 계속 진행합니다.
- 2xx(성공) : 요청을 성공적으로 받았으며 인식했고, 수용했습니다.
- 3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요합니다.
- 4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다.
- 5xx(서버 오류) : 서버가 명확히 유효한 요청에 대한 충족을 실패했습니다.
'항해 16기 > Today I Learned' 카테고리의 다른 글
[항해 30일차] TIL_React 심화주차: axios 심화 - instance & interceptor (0) | 2023.09.07 |
---|---|
[항해 29일차] TIL_React 심화주차: 비동기 통신 - axios, fetch (0) | 2023.09.07 |
[항해 26일차] TIL_React 심화주차: json-server (0) | 2023.09.07 |
[항해 25일차] TIL_React 심화주차: Redux Toolkit (0) | 2023.09.07 |
[항해 24일차] TIL_React 숙련주차 : Redux - Payload 및 Ducks 패턴 (0) | 2023.09.07 |