HTTP는 무엇일까요?

홍진우·2020년 12월 10일

Backend 로드맵

목록 보기
2/5

HTTP의 약자로 하이퍼텍스트 문자를 교환하기 위하여 사용된 통신 규약입니다. 즉, 웹 서버와 클라이언트 간의 통신을 하기 위한 통신 규약입니다.

HTTP는 웹에서만 사용하는 프로토콜로 TCP/IP 기반으로 한 지점에서 다른 지점(서버와 클라이언트)으로 요청과 응답을 전송합니다.

HTTP의 특징

  1. TCP/IP를 이용하는 응용 프로토콜입니다.
  2. HTTP는 연결 상태를 유지하지 않는 비연결성 프로토콜입니다. (이러한 단점을 해결하기 위해 Cookie와 Sesion 등장)
  3. HTTP는 연결을 유지하지 않는 프로토콜이기 때문에 요쳥/응답(request/response) 방식으로 동작합니다.
  • 서버 : 어떠한 자료에 대한 접근을 관리하는 네트워크 상의 시스템 (요청에 대한 응답을 보내준다.)

  • 클리아인트 : 그 자료에 접근할 수 있는 프로그램 (웹 브라우저, 핸드폰 어플리케이션 등)

사용자가 요청(request)을 하면 서버에서는 해당 요청사항에 맞는 결과를 찾아서 사용자에게 응답(response)하는 형태로 동작합니다.

Request (요청)

클라이언트가 서버에게 연락하는 것을 요청이라고하며 요청을 보낼때는 요청에 대한 정보를 담아 서버로 보냅니다.

요청의 종류

GET : 자료를 요청할 때 사용
POST : 자료의 생성을 요청할 떄 사용
PUT : 자료의 수정을 요청할 때 사용
DELETE : 자료의 삭제를 요청할 때 사용

Request HTTP 메시지 예시

GET https://velog.io/@surim014 HTTP/1.1								// 시작줄
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...			  // 헤더
Upgrade-Insecure-Requests: 1
  1. 시작줄
    첫 줄은 시작줄로 메서드 구조 버전으로 구성되었다.
    GET : HTTP Method / 사이트 주소 / HTTP 버전

  2. 헤더 (두번째 줄)
    두번째 줄부터는 헤더이며 요청에 대한 정보를 담고 있어요.
    헤더의 종류는 매우 많아요.

  3. 본문
    요청을 할 때 함께 보낼 데이터를 담는 부분이에요.

Response (응답)

서버가 요청에 대한 답변을 클라이언트에게 보내는 것을 응답이라고 해요.

status code (상태코드)

상태 코드에는 굉장히 많은 종류가 있어요.
-1xx : 요청을 받았으며 작업을 계속한다.
-2xx : 성공
-3xx : 요청을 마치기 위해 추가 동작을 취해야 한다.
-4xx : 클라이언트에 오류가 있다.
-5xx : 요청을 명백하게 수행하지 못한다.

요약

HTTP는 하이퍼텍스트 문자를 교환하기 위해 사용되는 통신 규약이다.
즉 웹서버와 클라이언트의 통신을 위한 것이고,
클라이언트가 웹서버에게 요청하는 것을 Request
웹서버가 클라이언트에게 응답하는 것을 Response

profile
나는 나

0개의 댓글