ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP Request / Response 구조
    💻 computer science/🌐 network 2025. 8. 6. 18:02

    🚀 HTTP

     

    HTTP는 클라이언트와 서버 사이에 데이터를 주고받는 데 사용되는 통신 규약입니다.

    웹에서 가장 널리 사용되며 사람이 읽을 수 있는 텍스트 기반의 형식을 사용합니다.

     

    HTTP 통신은 요청(Request) 과 응답(Response) 으로 이루어집니다.

    📬 HTTP Request

    GET / HTTP/1.1\\r\\n
    Host: developer.mozilla.org\\r\\n
    Accept-Language: fr\\r\\n
    • 사람이 읽을 수 있는 형태
    • \r\n
      • 줄바꿈을 표현하는 내용이 포함되어 있다.

     

     

     

    1️⃣ Start line

    HTTP Method 클라이언트가 수행하려는 작업 (GET, POST 등)
    Path 요청한 리소스의 경로(URL) - 전체 URL에서 프로토콜, 도메인, 포트를 제외한 부분
    Protocol Version HTTP 프로토콜 버전

     

     

    2️⃣ 헤더 (Headers)

     

    요청에 대한 추가 정보(메타데이터)를 담고 있습니다.

    • 키(Key)와 값(Value)의 쌍

    Host: 요청 대상 서버의 도메인 이름을 명시

    Content-Type: 요청 본문(Body)에 담긴 데이터의 형식

    Accept-Language: 클라이언트가 선호하는 언어를 명시

     

    3️⃣ 본문 (Body)

     

    POST나 PUT과 같이 서버에 데이터를 보내는 요청에 포함됩니다.

    • 실제 전송할 메시지 내용이나 데이터(예: JSON, XML)

    GET 요청에는 보통 본문이 없습니다.

     

    📪 HTTP Response

    HTTP/1.1 200 OK
    Date: Sat, 09 Oct 2010 14:28:02 GMT
    Server: Apache
    Last-Modified: Tue, 01 Dec 2009 20:18:22 GMT
    ETag: "51142bc1-7449-479b075b2891b"
    Accept-Ranges: bytes
    Content-Length: 29769
    Content-Type: text/html
    
    <!doctype html>… (here come the 29769 bytes of the requested web page)
    • 마찬가지로 \r\n 으로 줄바꿈

     

     

    1️⃣ Start line

    Protocol version HTTP 프로토콜 버전
    Status code 요청의 성공 또는 실패 여부와 그 이유를 나타내는 숫자 코드
    Status message 응답 상태를 간결히 설명해주는 부분

     

     

    2️⃣ 헤더 (Headers)

     

    응답에 대한 추가 정보(메타데이터)를 담고 있습니다.

     

    3️⃣ 본문 (Body)

     

    서버가 클라이언트에게 전달하려는 실제 데이터입니다.

    • HTML 페이지, 이미지, JSON 데이터 등

    204 No Content와 같은 응답에는 본문이 없습니다.

     

    '💻 computer science > 🌐 network' 카테고리의 다른 글

    HTTP Redirect  (0) 2025.09.24
    웹 서버와 WAS  (0) 2025.09.17
    소켓 프로그래밍  (1) 2025.08.06
    네트워크 통신 방식 - 유니캐스트, 브로드캐스트, 멀티캐스트  (0) 2025.08.06
    HTTPS  (0) 2022.10.09

    댓글

Designed by Tistory.