기록공간

HTTP는 무엇인가? 본문

Network/HTTP

HTTP는 무엇인가?

입코딩 2021. 2. 9. 19:48
반응형

HTTP는 HyperText Transfer Protocol의 약자로 WWW(월드 와이드 웹) 상에서 정보를 주고받을 수 있는 프로토콜이다. 즉 HyperText로 이루어져 있는 HTML(HyperText Markup Language) 문서를 서로 주고받을 수 있게 해주는 프로토콜이다. 그렇기 때문에 HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초가 된다.

 

동작

HTTP는 클라이언트(브라우저)와 서버 사이에 이루어지는 요청/응답(request/response) 프로토콜이다. 보통 브라우저인 클라이언트에 의해 전송되는 메시지를 요청(request)이라고 부르며, 그에 대한 서버에서 응답으로 전송되는 메시지를 응답(response)이라고 부른다. 

 

예를 들어 웹 브라우저에서 HTTP 프로토콜로 서버에 HTML이나 그림과 같은 리소스 정보를 요청하면, 서버는 이 요청에 응답하여 필요한 정보를 해당 브라우저로 전송하게 된다. 전달받은 정보는 브라우저에서 해석과정을 거쳐 사용자가 원하는 결과창으로 화면에 보여준다. 이러한 교류는 HTTP 프로토콜을 이용하여 발생하게 된다.

 

특징

HTTP는 1990년대에 처음 설계되었고, 지금까지 진화 및 확장을 거듭해왔다. HTTP는 애플리케이션의 프로토콜로, 신뢰 가능한 전송 프로토콜이라면 이론상으로는 무엇이든 사용할 수 있으나 TCP 혹은 암호화된 TCP 연결인 TLS를 통해 전송된다. (라이브 스트리밍과 같은 특수한 용도로 UDP를 사용하기도 한다) HTTP의 뛰어난 확장성 덕분에, 오늘날 HTML 문서 뿐만 아니라 이미지나 비디오와 같은 리소스 정보도 주고 받을 수 있다. 

 

앞서 HTTP는 요청/응답 프로토콜이라고 했다. 이러한 작동방식으로 HTTP는 연결 상태를 유지하지 않는 비연결성 프로토콜이다. 이러한 단점을 해결하기 위해서 쿠기(Cookie)와 세션(Session)이라는 개념이 등장하였다. 

 

요청(Request)

클라이언트(브라우저)가 서버에게 연락하는 것을 요청이라고 하며, 요청을 보낼때에는 요청에 대한 정보를 담아 서버로 보내게 된다. 웹 세계를 식당으로 비유하자면 요청은 내가 먹고 싶은 음식을 주문서에 적어 요리사에게 전달하는 과정이라고 할 수 있겠다.

 

요청의 종류(Request Method)

1. GET : 자료를 요청할 때 사용

2. POST : 자료의 생성을 요청할 때 사용
3. PUT : 자료의 수정을 요청할 때 사용
4. DELETE : 자료의 삭제를 요청할 때 사용

 

응답(Response)

서버가 요청(Request)에 대해서 답변을 클라이언트에게 보내는 것을 뜻한다.

 

상태 코드(Status Code)
→ 상태 코드에는 굉장히 많은 종류가 있다. 세 자리 숫자로 이루어져 있으며, 크게 다섯 부류로 나눌 수 있다.


· 1○○ (조건부 응답) : 요청을 받았으며 작업을 계속한다.
· 2○○ (성공) : 클라이언트가 요청한 동작을 수신하여 이해했고 승인했으며 성공적으로 처리했음을 가리킨다.
· 3○○ (리다이렉션 완료) : 클라이언트는 요청을 마치기 위한 추가 동작을 취해야 한다.
· 4○○ (요청 오류) : 클라이언트에 오류가 있음을 나타낸다.
· 5○○ (서버 오류) : 서버가 요청을 수행하지 못했음을 나타낸다.

출처 :

ko.wikipedia.org/wiki/HTTP

developer.mozilla.org/ko/docs/Web/HTTP/Overview

velog.io/@surim014/HTTP%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80

반응형

'Network > HTTP' 카테고리의 다른 글

[HTTP 강의] 1. 인터넷 네트워크  (0) 2022.01.21
HTTPS란 무엇인가?  (0) 2021.09.13
[HTTP 완벽 가이드] HTTP 개관  (0) 2021.04.29
Comments