HTTP 기초 2-1

전수현·2021년 6월 17일
0

HTTP

목록 보기
1/2

HTTP란

HTTP(=HyperText Transfer Protocol)

HyperText
HTML에도 쓰이는 용어로 웹브라우저 위에서 문서와 문서를 링크로 연결해주는 태그로 구성된 언어.
Transfer
사전적의미로 [전송하다]라는 뜻을 갖고있으며, 웹 상에서 다른사람들과 공유하기 위해 상호간에 전송을 한다는 의미이다.
Protocol
협약, 규약이라는 뜻으로, 컴퓨터 끼리의 소통을 약속해놓은 용어이다.
= 컴퓨터들끼리 HTML 파일을 주고받을 수 있도록 하는 소통방식 또는 약속!

HTTP의 두 가지 특징

1. Request/Response(요청/응답)

보내는 주체는 받는 주체에게 요청을 보내고, 받는 주체는 보내는 주체에게 응답한다.

2. Stateless

State(상태)less(없음)이라는 의미를 가지고 있으며, HTTP의 통신 요청은 독립적이기 때문에 이전에 오갔던 통신에 대해서는 전혀 알지 못하는 상태이다.
때문에 상태없음이라는 상태를 표현하는 용어가 있는 것이며,이는 매 통신마다 필요한 모든 정보를 담아서 요청을 보내야 한다는 것을 의미한다.

Request/Response 구조

1. Request 메세지 구조

1)Start Line:요청의 첫 번째 줄에 해당 함. 세 부분으로 구성 됨.

  • HTTP Method:요청이 의도한 액션을 정의. GET/POST/DELETE가 많이쓰임
  • Request target:해당 request가 전송되는 목표url
  • HTTP Version:HTTP의 버전

2)Headers: 요청에 대한 추가 정보(메타데이터)를 담고있는 부분이다.

  • ex)key:value 값으로 되어있으며, 자주 사용되는 정보는
Headers:{
    Host : www.google.com(요청을 보내는 목표의 주소)
    User-Agent : Chrome(요청을 보내는 클라이언트의 대한 정보)
    Content-Type : application/json(해당 요청이 보내는 메세지 body 타입)
    Content-Length : body 내용의 길이
    Authorization : 회원의 인증/인가를 처리하기 위해 로그인 토큰을 Authorization에 담는다.
}

3)Body: 요청의 실제 내용, 주고 Body를 사용하는 메소드는 POST이다.

  • ex)로그인 시에 서버에 보낼 요청의 내용
Body:{
    "user_email":"jun.choi@gmail.com"
    "user_password":"wecode"
}

GET /login HTTP/1.1
= Get메소드로 login이라는 요청 타겟에 http 1.1버전으로 요청을 보냄

2. Response 메세지 구조

1)Status Line:응답은 요청에 대한 처리상태를 클라이언트에게 알려주면서 시작된다.

  • HTTP Version : 요청의 http 버전과 동일
  • Status Code : 응답 메세지의 상태 코드
  • Status Text : 응답 메세지의 상태를 설명하는 코드

2)Headers: 요청의 헤더와 동일. 응답의 메타데이터를 담고있다. 다만, 응답에서만 사용되는 헤더의 정보들이 있다.

3)Body: 가장 많이 사용되는 Body 타입은 JSON이다.

  • ex) 로그인 요청에 대해 성공했을 때 응답의 내용
Body:{
    "message": "SUCCESS"
    "token": "kwqj2#@($U(@*#&&%_KJ (암호화 된 유저의 정보)
}

끝!

profile
안녕하세요 :)

0개의 댓글