HTTP
- 데이터를 주고 받는 양식을 정의한 프로토콜(통신규약)입니다.
- 매우 범용적인 양식을 가지고 있어 전 세계에서 제일 널리 쓰이는 프로토콜입니다.
HTTP가 데이터를 주고 받는 방법
- Request, Response라는 개념이 존재합니다.
- request하면 response가 있어야합니다.
- 서버와 브라우저의 관계
- 브라우저(클라이언트)는 서버에게 자신이 원하는 페이지(URL 등의 정보)를 요구(Request)합니다.
- 서버는 브라우저가 원하는 페이지가 있는지 확인하고, 있다면 해당 페이지에 대한 데이터를 반환(Response)해줍니다. 없다면 없는 페이지에 대한 데이터를 반환합니다. (404에러 관련 페이지)
- 브라우저는 서버에게 전달 받은 데이터를 기반으로 브라우저에 그려줍니다.
- 상태를 저장하지 않습니다.(stateless)
- 기본적으로 단방향 서비스이며 사용자를 식별할 수 없습니다.
- 쿠키와 세션으로 사용자를 식별기능을 보완합니다.
- websocket, http-polling과 같이 사용해서 양방향 서비스를 제공합니다.
HTTP Method
메서드 | 의미 | Idempotent |
POST | Create | No |
GET | Select | Yes |
PUT | Update | Yes |
DELETE | Delete | Yes |
HTTP request 구조
- start line
- http 메소드(get, post..), 경로 등의 정보를 포함한다.
- header
- request에 대한 정보를 담고 있다. TCP/IP 기반 전송에 필요한 정보와 http통신에 알려야하는 필수 정보 외에 authorization 등 특수 목적을 위한 정보가 포함된다.
- body
- 데이터가 들어가는 공간
- 일반적으로 객체의 형태로 전달합니다.(JSON)
HTTP response 구조
- staus line
- http 버전, status 응답 코드 등을 포함한다.
- header
- response에 맞는 정보가 포함된다.
- body
- 데이터가 들아가는 공간
- 일반적으로 객체의 형태로 전달합니다.(JSON)
- 예시
자주 보는 HTTP Status 코드
- 200
- 201
- 400
- 401
- 403
- 404
- 405
- 409
- 413
- 500
<참고>
HTTP 구조 및 핵심 요소
하이퍼텍스트(HTML) 문서를 교환하기 위해 만들어진 protocol(통신 규약).즉 웹상에서 네트워크로 서버끼리 통신을 할때 어떠한 형식으로 서로 통신을 하자고 규정해 놓은 "통신 형식" 혹은 "통신 구
velog.io
REST API의 이해와 설계-#1 개념 소개
REST API의 이해와 설계 #1-개념 소개 REST는 웹의 창시자(HTTP) 중의 한 사람인 Roy Fielding의 2000년 논문에 의해서 소개되었다. 현재의 아키텍쳐가 웹의 본래 설계의 우수성을 많이 사용하지 못하고 있
bcho.tistory.com
https://developer.mozilla.org/ko/docs/Web/HTTP/Status
HTTP 상태 코드 - HTTP | MDN
HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제공하는 응답, 성공적인 응답, 리다이렉트, 클라이언트 에러, 그리고
developer.mozilla.org
'웹' 카테고리의 다른 글
Express.js? (0) | 2022.01.21 |
---|---|
웹 서버? (0) | 2022.01.21 |
API? (0) | 2022.01.16 |
JWT를 이용한 로그인 기능 (0) | 2022.01.16 |
Bulma (0) | 2022.01.13 |