Repository logo Repository

1. HTTP

HTTP(Hypertext Transfer Protocol)는 웹상에서 클라이언트와 서버가 데이터를 주고받기 위해 사용하는 통신 규약.


2. URL 구조

URL 구조

리소스의 위치를 식별하기 위한 표준 형식.

형식: scheme://host:port/path[?query] 예시: https://www.google.com/search?q=hello&hl=ko

구성 요소 설명 비고
scheme 사용할 프로토콜 명시 http 또는 https (보안 추가)
host 접속할 서버의 도메인 또는 IP www.google.com, localhost
port 서버 접속 포트 http: 80 / https: 443 (생략 가능)
path 리소스가 있는 경로 /search
query 서버에 전달할 파라미터 key=value 형태, &로 연결

3. HTTP 메시지 구조

시작 라인 (Start Line)

메시지의 맨 첫 줄로, 요청인지 응답인지에 따라 구성이 달라짐.

상태 코드 요약

  • 2xx: 성공 (Success)
  • 4xx: 클라이언트 오류 (Client Error)
  • 5xx: 서버 오류 (Server Error)

HTTP 헤더 (Headers)

전송에 필요한 부가 정보(메타데이터)를 담고 있다. (성격: 값 형식)

주요 Content-Type 설명
application/json 가장 많이 사용. 구조화된 데이터를 교환할 때 사용
text/html HTML 문서를 전송할 때 사용
x-www-form-urlencoded 폼 데이터를 키-값 쌍으로 인코딩하여 전송
multipart/form-data 파일 업로드 등 바이너리 데이터 전송 시 사용
text/plain 일반 텍스트 데이터 전송

HTTP 메시지 바디 (Message Body)


정리

HTTP는 클라이언트와 서버가 요청과 응답을 주고받기 위한 통신 규칙이다. 요청 메시지는 메서드, 요청 대상, 헤더, 바디로 구성되고, 응답 메시지는 상태 코드와 함께 요청 처리 결과를 전달한다.


출처

  1. MDN Web Docs, Overview of HTTP https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Overview
  2. MDN Web Docs, HTTP messages https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Messages
  3. RFC 9110, HTTP Semantics https://datatracker.ietf.org/doc/html/rfc9110

« HTTP Method
HTTP Status Code »