Data Engineering

HTTP란?

mimi_Bo 2021. 3. 25. 22:44

인터넷 주소를 입력할 때, http 또는 https로 항상 시작하게됩니다!

번외이지만, https의 s로 security를 의미하며 보안을 강조했다는 의미를 가지고 있다고 합니다.

그래서 주소 왼쪽의 자물쇠 모양을 보시면, https의 경우에는 자물쇠 모양이지만 http의 경우에는 자물쇠에 찍(/) 그어져 있어요!ㅎㅎㅎ

HTTP (Hyper Text Transfer Protocol)

Protocol

서버에 접속하여 명령어를 주고 받을 때 정해진 규칙과 틀이 있어야 서로 이해하고 원활한 소통이 가능해집니다. 이렇게 정해진 규칙들을 규약(Protocol)이라고 합니다.

 

HTTP

HTTP는 Protocol을 통해 요청(HTTP Request)을 하기도 하고, 응답(HTTP Response)을 받기도 합니다. 

 

HTTP Request

보통 한 컴퓨터(클라이언트)가 다른 컴퓨터(서버)에게 리소스 요청을 보낼 때 사용되는 말

HTTP Request는 다양한 종류의 요청들이 있습니다. 정보를 가져오기 위해 요청하기도 하고, 정보가 맞는지 확인하기 위해 요청하기도 합니다.

CRUD에 사용되는 HTTP 메소드

다양한 메소드들을 살펴보기 이전에...

  • 다양한 HTTP 메소드가 있지만, 이러한 메소드 Request들은 특정하게 사용되어지도록 정해진 것은 아니다.
  • API를 제작할 때에는 보통 REST API가이드라인을 따라 HTTP 메소드들이 사용된다.

1. GET

특정 리소스를 달라고 할 때에 사용합니다.

- html, css, js와 같은 파일을 받아올 때 사용합니다.

 

2. POST

서버 측의 특정 리소스를 저장할 때 사용합니다.

- 서버 상태를 바꿀 때 사용합니다. 즉, 데이터를 넘겨받아서 서버 상태가 바뀌어지는 것을 의미하는데 서버측의 데이터베이스가 늘어나는 거시라고 생각하면 됩니다. (ex. 회원가입을 통해 유저가 늘어날 때)

 

3. PUT

서버 측의 특정 리소스를 업데이트 할 때 사용합니다. (데이터 전부를 바꿀 때)

 

4. PATCH

서버 측의 특정 리소스를 업데이트 할 때 사용합니다. (부분적으로 바꿀 때)

 

5. DELETE

서버 측의 특정 리소스를 삭제할 때 사용합니다.

 

6. OPTIONS

목표 리소스와의 통신 옵션을 설명하기 위해 사용합니다.

- 사용자가 브라우저에 PATCH를 요청하면 브라우저는 서버에 바로 PATCH 요청을 보내지 않고 OPTIONS를 통해 PATCH 요청을 하고 싶은데 실제로 가능한지 확인하고 서버가 승인(200번대)하면 브라우저는 그제서야 DATA를 보내고 서버가 브라우저에게 OK 응답을 한다.

- 사용자 편의 / 효율성 / 보안의 장점이 있습니다.

 

이 외에도 아래 링크를 통해 다양한 HTTP Request 메소드를 확인할 수 있습니다.

developer.mozilla.org/en-US/docs/Web/HTTP/Methods

 

HTTP request methods - HTTP | MDN

HTTP request methods HTTP defines a set of request methods to indicate the desired action to be performed for a given resource. Although they can also be nouns, these request methods are sometimes referred to as HTTP verbs. Each of them implements a differ

developer.mozilla.org

HTTP Response

요청을 했으면 그것에 대한 답장(응답)을 받아야하겠죠?

요청의 종류에도 여러가지 방식이 있었던 것처럼 응답의 종류에도 여러가지 방식이 있습니다. 이러한 응답을 상태코드(Status Code)라고 하고 크게 5개의 종류로 나뉘어져 있습니다.

  • 100 번대 : 정보 응답
  • 200 번대 : 성공 응답
  • 300 번대 : 리다이렉션 메시지
  • 400 번대 : 클라이언트 에러 응답
  • 500 번대 : 서버 에러 응답

좀 더 구체적으로 응답의 의미를 알고 싶다면 아래의 링크를 통해 확인하시면 됩니다!

100 Continue - HTTP | MDN (mozilla.org)

 

100 Continue - HTTP | MDN

100 Continue The HTTP 100 Continue informational status response code indicates that everything so far is OK and that the client should continue with the request or ignore it if it is already finished. To have a server check the request's headers, a client

developer.mozilla.org