HTTP 기본 개념(이론)

Junghyun Park·2021년 1월 21일
0

HTTP 란?

: HyperText Transfer Protocol의 약자
: 컴퓨터끼리 HTML 파일을 주고받을 수 있도록 하는 소통방식 또는 약속

HTTP 주요 특징

Request/Response

결국은 요청응답의 방식을 규정한 것

Statless

HTTP 통신은 독립적이기 때문에 과거의 통신(요청/응답)에 대한 내용을 전혀 알지 못함
따라서, 매 통신마다 필요한 모든 정보를 담아서 요청을 보내야 함
그러므로, 여러번의 통신 진행 과정 중, 연속된 데이터 처리가 필요한 경우(ex> 온라인 쇼핑몰에서 로그인 후 장바구니 기능 등)에는 로그인 토큰 or 브라우저 쿠키, 세션, 로컬 스토리지와 같은 기술 활용이 필요

Request/Response

1. Request 메세지 구조

(1) Start Line
: 첫번째 줄이며, 세 부분으로 구성
: HTTP Method/ Request target/ HTTP Version
: ex> GET/ login HTTP/1.1
(2) Headers
: 해당 요청에 대한 추가 정보(메타 데이터)를 담고 있는 부분
: key:value 구조로 구성

Headers: {
	Host: 요청을 보내는 목표(타겟)의 주소.	(ex. www.apple.co.kr)
	User-Agent: 요청을 보내는 클라이언트의 대한 정보 (ex. chrome, firefox, safari, explorer)
	Content-Type: 해당 요청이 보내는 메세지 body의 타입 (ex. application/json)
	Content-Length: body 내용의 길이
	Authorization: 회원의 인증/인가를 처리하기 위해 로그인 토큰 등
}

(3) Body: 해당 요청의 실제내용

2. Response 메세지 구조

(1) Status Line
: 응답의 상태 줄
: 세 부분으로 구성
: HTTP Version/ Status Code/ Status Text
: ex> HTTP/1.1 404 Not Found
(2) Headers
: 응답의 추가정보(메타 데이터)를 담는 부분
(3) Body
: 일반적으로 JSON 타입의 데이터를 담고 있음

HTTP Method

1. GET

: 어떤 데이터를 서버로 부터 받아(GET)올 때 주로 사용하는 메소드
: 데이터를 받아오기만 할 때 사용

2. POST

: 데이터를 생성 / 수정할 때 주로 사용되는 메소드

3. DELETE

Response Status Code

200: OK

: 문제없이 요청에 대한 처리가 백엔드 서버에서 이루어지고 나서 오는 응답코드
: 주로 GET에 대한 응답

201: Created

: 무언가가 잘 생성되었을 때에(Successfully Created) 오는 Status Code
: 주로 POST의 응답

400: Bad Request

: 해당 요청이 잘못되었을 때 보내는 Status Code

401: Unauthorized

: 유저가 해당 요청을 진행하려면 먼저 로그인을 하거나 회원가입이 필요하다는 의미

403: Forbidden

: 유저가 해당 요청에 대한 권한이 없다는 뜻

404: Not Found

: 요청된 URI 가 존재하지 않는다는 의미

500: Internal Server Error

: 서버에서 에러가 났을 때의 Status Code

profile
21c Carpenter

0개의 댓글