본문 바로가기
웹(web)/백엔드 기초

HTTP Protocol Method

by 바코94 2020. 6. 30.

웹은 HTTP프로토콜을 사용하여 작동한다. 즉, 네트워크 5계층에서 Application Layer에서 HTTP 프로토콜을 사용하는 것이다. 우리가 naver.com이라고 주소창에 입력하면 이 주소를 바탕으로 네이버 서버 쪽에 요청메세지를 날리고 그 응답을 브라우저가 화면에 표시해주는 것이다. 웹에서는 요청메세지를 보내고 응답을 받는 방식을 HTTP라는 규칙을 사용한다. 정확하게는 dns 서비스를 거치고 나서 HTTP 를 주고 받는다.

 

작동하는 방식은 매우 간단하다.

브라우저(클라이언트)가 요청메세지(Request)를 날리면 웹 서버가 응답메세지(Response)를 주는 방식이다.

 

Request

브라우저가 서버에게 어떤 요청을 보낼 것이다. 이 요청에 대한 규칙을 이해해보자. 

Method URL Version

header 

body 

이것이 request 구조이다. 첫 줄에는 reqeust 방식과 요청하는 URL, http 버전이 보내진다. header는 요청에 대한 헤더이다. 크롬의 개발자도구(윈도우 F12)를 눌러보면 네트워크 탭에 파일을 눌러보면 헤더 정보들이 나타난다. 요청과 응답 사이에서 필요한 정보들인 것을 알 수 있다.

 

Method

요청 메세지를 보낼 때 여러가지 필드가 있다. 그 중 제일 첫 번째는 Method에 대한 것이다. HTTP 프로토콜 상에서 약속된 규칙이기 때문에 각 Method가 어떤 의미로 쓰이는지 기억하면 된다.

GET: data 조회시 사용

POST: data 생성시 사용

PUT: data 수정시 사용

DELETE: data 삭제시 사용

여기서 data란 서버에 있는 파일을 말한다. 

 

GET 방식의 특징은 데이터를 URI 필드에 포함한다. GET방식에서 주소창의 뒷부분을 자세히 보면 ? 이후에 파라미터이름=값 이 &로 연결된 것을 알 수 있다. URI 필드가 무한정 큰 것이 아니라서 보낼 수 있는 데이터 양에 제한이 있다.

 

POST 방식은 데이터를 entity body field에 넣어서 요청을 보낸다. 대용량의 데이터를 보낼 수 있다.

 

URL

요청하는 주소이다.

protocol://host:port/path?querystring

protocol: 프로토콜 종류

host: 도메인 이름

port: 포트번호

path: 파일 경로

query string: get 방식에서 보내는 데이터 정보

 

Response

response의 구조는 다음과 같다.

Version status code status phrase 

header 

body

 

브라우저의 요청에 대해서 어떻게 처리되었는지에 따라 status가 결정된다. 정상 처리인 경우 200 OK이다. 

이후 header 부분에 response에 대한 헤더 정보들을 보낸다. 데이터 종류라던지 브라우저 종류와 같은 것들이다.

body에는 응답으로 보낼 데이터를 담는다.

정리하면 response는 요청에 대한 처리 결과와 헤더정보, 데이터의 집합이다.

 

 

'웹(web) > 백엔드 기초' 카테고리의 다른 글

ioredis 레디스 클러스터 설정  (1) 2023.11.21
Ubuntu screen 사용법  (0) 2021.08.22
Web server  (0) 2020.06.30