HTTP는 뭘까?

haaaalin·2022년 2월 4일
0

'HTTP' 라는 용어

HTTP는 RFC2616에서 규정된 Web에서 데이터를 주고 받는 프로토콜로, Hyper Text Transfer Protocol의 줄임말이다. 이름에는 하이퍼텍스트 전송용 프로토콜로 정의되어 있지만, 실제로는 HTML, XML, JSON, Image, Voice, Video, Javascript 등 컴퓨터에서 다룰 수 있는 것은 모두 전송할 수 있다.

TCP를 기반으로 한 REST의 특징을 모두 구현하고 있는 것이 특징이다.

쉽게 말해서 클라이언트와 서버가 메시지를 주고 받을 때의 방식을 HTTP라 할 수 있다. 클라이언트는 서버에 Request(요청) 을 하고, 서버는 클라이언트에 Response(응답) 을 하는데 이때 HTTP에 따라 응답과 요청을 주고 받는다.

HTTP의 요청

클라이언트는 요청할 때, 위 사진의 포맷에 맞게 Request header를 서버에 보낸다.
첫 번째 줄에 보면, Request Line이 있는데, GET 이 보인다.
HTTP의 요청을 특정하는 Method는 총 8가지가 있는데, GET은 그 중에 하나이다.

이렇게 위와 같이 Method를 앞에 명시함으로써 어떤 요청인지 서버에게 보여준다.

HTTP의 응답

서버는 클라이언트 Request Line 처럼, 응답의 상태를 나타내는 Line이 있다. 아래 나오는 코드는 Statuse code에 들어갈 코드의 종류다.

  • 1xx : 처리중, 처리가 계속 되고 있는 상태. 클라이언트는 요청을 계속 하거나 서버의 지시에 따라서 재요청
  • 2xx : 요청의 성공
  • 3xx : 리다이렉트, 다른 리소스로 리다이렉트, 해당 코드를 받았을 때는 Response의 새로운 주소로 다시 요청
  • 4xx : 클라이언트 에러, 클라이언트 요청에 에러가 있는 상태. 재전송 하여도 에러가 해결되지 않는다.
    (그래서 404에러가 이때 뜨는 것!! 자주 보던 것인데, 의미를 알게 되어서 뭔가 뿌듯하다😎)
  • 5xx : 서버에러, 서버 처리중 에러가 발생한 상태. 재 전송시 에러가 해결 되었을 수도 있다.
profile
한 걸음 한 걸음 쌓아가자😎

0개의 댓글