HTTP란 ?
HTTP(Hypertext Transfer Protocol)는 인터넷에서 데이터를 주고받기 위한 프로토콜 중 하나로, 웹 브라우저와 웹 서버 간에 정보를 주고받을 때 사용됩니다. HTTP는 클라이언트-서버 모델을 기반으로 동작하며, 클라이언트가 요청(Request)을 보내면 서버는 요청을 받아 해당 요청에 대한 응답(Response)을 보내는 방식으로 동작합니다.
HTTP의 메세지 구조
HTTP 메시지는 클라이언트와 서버 간에 주고받는 데이터의 단위입니다. HTTP 메시지는 요청 메시지와 응답 메시지로 구분됩니다.
- HTTP 요청 메시지 구조: HTTP 요청 메시지는 다음과 같은 구조를 가집니다.
- Start Line: HTTP 요청에 대한 정보를 담고 있는 첫 번째 줄입니다. 메서드, 요청 URI, HTTP 버전 정보를 포함합니다.
- Header Fields: HTTP 요청에 대한 추가 정보를 포함하는 부분으로, Key-Value 형식으로 구성되어 있습니다. 요청 메시지의 크기, 클라이언트 정보, 인증 정보 등이 여기에 포함될 수 있습니다.
- Body: HTTP 요청에 대한 본문 데이터를 포함합니다. GET 요청과 같이 본문 데이터를 보내지 않는 요청의 경우 생략될 수 있습니다.
- HTTP 응답 메시지 구조: HTTP 응답 메시지는 다음과 같은 구조를 가집니다.
- Start Line: HTTP 응답에 대한 정보를 담고 있는 첫 번째 줄입니다. 상태 코드, 상태 메시지, HTTP 버전 정보를 포함합니다.
- Header Fields: HTTP 응답에 대한 추가 정보를 포함하는 부분으로, Key-Value 형식으로 구성되어 있습니다. 응답 메시지의 크기, 서버 정보, 인증 정보 등이 여기에 포함될 수 있습니다.
- Body: HTTP 응답에 대한 본문 데이터를 포함합니다. HTML 문서나 JSON 데이터 등이 여기에 포함될 수 있습니다.
HTTP의 특징
HTTP 요청과 응답 메시지는 모두 ASCII 문자열로 작성되며, 개행문자(CR-LF)로 구분됩니다. HTTP 메시지의 구조를 이해하면, HTTP를 활용한 클라이언트-서버 통신을 보다 효율적으로 처리할 수 있습니다.
'CS' 카테고리의 다른 글
this 가 동작하는 원리와 용법 (0) | 2023.03.31 |
---|---|
Position의 사용방법 (0) | 2023.03.30 |
캐시의 특징과 예시 (0) | 2023.03.29 |
프레임워크와 라이브러리의 차이점 (0) | 2023.03.29 |
Hoisting 과 TDZ란? (0) | 2023.03.28 |