짹뚜 스튜디오

[네트워크] HTTP 본문

개발 공부/네트워크

[네트워크] HTTP

짹뚜 2022. 2. 3. 19:36

HTTP (Hyper Text Transfer Protocol)

인터넷에서 웹 서버와 클라이언트가 데이터를 주고받을 때 사용하는 통신 규약, 프로토콜이다. 그래서 브라우저를 열어서 웹 페이지를 방문하거나, 양식을 제출하거나, ajax 요청을 보내는 버튼을 클릭했을 때 HTTP를 이용해서 요청과 응답이 이루어진다.

 

HTTP의 특징 중 하나는 Stateless이다. 웹페이지를 새로고침하거나 다른 페이지를 이동하면서 새로운 요청을 할 때는 이전에 보낸 요청에 대한 정보를 가지고 있지 않다. 그러므로 HTTP의 요청은 독립적이라고 말할 수 있다. 

HTTP Methods

  • GET: 서버에서 데이터를 가져온다.
  • POST: 서버에 데이터를 보낸다.
  • PUT/PATCH: 서버에 있는 데이터를 수정한다.
  • DELETE: 서버에 있는 데이터를 지운다.

HTTP Request (요청)

HTTP request는 클라이언트가 서버에 보내는 메시지이다.  HTTP request는 다음과 같다.

 

  • start line
  • HTTP Headers
  • empty line
  • body

Start line

요청의 상태를 나타낸다.

<METHOD> <PATH> <PROTOCOL>
예) GET /api HTTP/1.1

 

  • METHOD: 수행할 작업이나 방식을 나타낸다.
  • PATH: 요청을 보낼 대상의 주소를 나타낸다.
  • PROTOCOL: 웹 서버와 통신을 하기 위해 사용한 HTTP의 버전을 나타낸다.

HTTP Headers

요청에 대한 부가적인 정보를 담고있다.

Body

요청을 할 때 함께 보낼 데이터를 담고 있다. payload라고도 불린다.

HTTP Response (응답)

HTTP response는 서버가 클라이언트에게 보내는 메시지이다.  HTTP response는 다음과 같다.

 

  • status line
  • HTTP Headers
  • empty line
  • body

Status line

응답의 상태를 나타낸다.

<PROTOCOL> <STATUS CODE> <STATUS MESSAGE>
예) HTTP/1.1 200 OK

 

  • PROTOCOL: 웹 서버와 통신을 하기 위해 사용한 HTTP의 버전을 나타낸다.
  • STATUS CODE: 응답에 대한 상태 코드를 나타낸다.
  • STATUS MESSAGE: 응답에 대한 상태 메시지를 나타낸다.

HTTP Headers

응답에 대한 부가적인 정보를 담고 있다.

Body

응답을 보낼 때 함께 보낼 데이터를 담고 있다. payload라고도 불린다. 응답의 경우에는 대부분 body가 포함되어있다. 

HTTP Status Code

1xx: Informational

요청을 받았으며 프로세스를 계속 진행한다는 의미이다.

2xx: Success

요청이 성공적으로 받아졌다는 의미이다.

3xx: Redirect

추가 작업이 필요하다는 의미이다.

4xx: Client Error

요청의 문법이 잘못됐거나 요청할 때 필요한 데이터가 없다는 의미이다.

5xx: Server Error

서버에서 유효한 요청에 대해 처리하지 못했다는 의미이다.

주로 사용되는 Status Code

  • 200 - OK
  • 201- OK created
  • 301- Moved to new URL
  • 400 - Bad request
  • 401 - Unauthorized
  • 404 - Not found
  • 500 - Internal server error

'개발 공부 > 네트워크' 카테고리의 다른 글

[네트워크] Internet Protocol  (0) 2022.02.22
[네트워크] Cookie  (0) 2022.02.17
[네트워크] Domain과 DNS  (0) 2022.01.26
[네트워크] IP 주소와 Port  (0) 2022.01.25
[네트워크] URI vs URL vs URN  (0) 2022.01.25
Comments