HTTP프로토콜

HTTP 프로토콜이란

HTTP(Hypertext Transfer Protocol)는 인터넷상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜입니다.

직역하면 하이퍼텍스트 문서를 전달하기 위한 규약입니다.

웹브라우저에서 HTTP를 붙이는 것은 http 프로토콜을 통신을 하겠다는 선언입니다.



작동방식


HTTP는 서버 / 클라이언트 모델을 따릅니다.

클라이언트에서 요청(request)를 보내면 서버는 요청을 처리해서 응답(response)합니다.

응답하는 순간 요청을 끊어버립니다



HTTP Request(요청)


request 참조 : https://developer.mozilla.org/ko/docs/Web/HTTP/Overview

request는 크게 3부분으로 구성됩니다.

Start line

  • Http Method : GET, POST, PUT, DELETE, OPTIONS 등등
  • Request target : 해당 request가 전송되는 목표 URI (/login)
  • Http Version : http/1.1

Headers

  • request에 대한 추가정보를 담고 있는 부분
  • key: value로 이루어져 있다.
  • general headers, request headers, entity headers로 3개로 나누어져 있다.

Body

  • 해당 request의 실제 메세지/내용, body가 없을 수도 있다.
POST /login HTTP/1.1
Accept: application/json
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 83
Content-Type: application/json
Host: naver.com
{
	"id": "id_11234",
	"password": "pasword",
	"status": "user"
}



HTTP Response(응답)


response 참조 : https://developer.mozilla.org/ko/docs/Web/HTTP/Overview


Response와 마찬가지로 3가지로 이루어져 있습니다.

Status Line

Response의 상태를 간략하게 나타내주는 부분이고 3부분으로 구성되어 있습니다.

  • HTTP 버젼
  • Status code : 응답상태를 나타내는 코드. 숫자로 되어 있는 코드. (예를들어 200)
  • Status Text : 응답 상태를 간략하게 나타내는 부분.
HTTP/1.1 404 Not Found

Headers

  • Response의 headers와 동일합니다.
  • Response에서만 사용되는 header 값들이 존재합니다. (User-Agent 대신 Server 헤더가 사용됩니다.)

Body

  • Response의 Body와 일반적으로 동일하며 Request와 마찬가지로 모든 response가 body가 있지 않다.

Categories:

Updated:

Leave a comment