HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜입니다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이기도 합니다. 클라이언트-서버 프로토콜이란 (보통 웹브라우저인) 수신자 측에 의해 요청이 초기화되는 프로토콜을 의미합니다. 하나의 완전한 문서는 텍스트, 레이아웃 설명, 이미지, 비디오, 스크립트 등 불러온(fetched) 하위 문서들로 재구성됩니다.
클라이언트와 서버들은 (데이터 스트림과 대조적으로) 개별적인 메시지 교환에 의해 통신합니다. 보통 브라우저인 클라이언트에 의해 전송되는 메시지를 요청(requests)이라고 부르며, 그에 대해 서버에서 응답으로 전송되는 메시지를 응답(responses)이라고 부릅니다.
요청
클라이언트가 요청에 대한 결과로 서버는 응답할 때 응답에 대한 정보를 담아 클라이언트로 보냅니다. 이런 정보가 담긴 메시지를 HTTP 메시지라고 합니다. HTTP 메시지는 시작줄, 헤더, 본문으로 구성됩니다.
GET https://www.naver.com HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)...
Upgrade-Insecure-Requests: 1
(본문 없음)
메시지의 시작줄은 메서드 주소 버전
두 번째 줄은 헤더입니다. 요청에 대한 정보를 담고 있습니다.
User-Agent, Upgrade-Insecure-Requests 등등이 헤더에 해당됩니다.
마지막 줄은 본문이입니다. 본문은 요청을 할 때 함께 보낼 데이터를 담는 부분입니다. 요청을 보낼 때 데이터를 담지 않았다면 본문은 비어있게 됩니다.
응답
첫 줄은 헤더로 버전 상태코드 상태메시지로 구성되어 있습니다.
요청이 성공했는지 실패했는지에 대한 결과를 나타냅니다
두 번째 줄부터는 헤더입니다. 응답에 대한 정보를 담고 있습니다.
마지막 줄은 응답으로 보통 본문이 있습니다. 데이터를 요청하고, 응답 메시지에는 요청한 데이터를 담아서 보내줍니다. 응답 메시지에 HTML이 담겨 있습니다. 이 HTML을 받아 브라우저가 화면에 렌더링 합니다.
HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 35653
Content-Type: text/html;
정리 : HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜입니다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이기도 합니다. 클라이언트-서버 프로토콜이란 (보통 웹브라우저인) 수신자 측에 의해 요청이 초기화되는 프로토콜을 의미합니다
클라이언트와 서버들은 (데이터 스트림과 대조적으로) 개별적인 메시지 교환에 의해 통신합니다. 보통 브라우저인 클라이언트에 의해 전송되는 메시지를 요청(requests)이라고 부르며, 요청 메시지에는 메서드 주소 버전, 요청에 대한 정보가 담기게 됩니다. 요청에 대한 응답을 응답(응답(responses) 메시지라고 부르며 응답 메시지 내용으로는 버전 상태코드 상태메시지로 구성되어 요청이 성공했는지 실패했는지에 대한 결과를 나타내고 요청한 데이터를 담아서 보내줍니다.
응답 메시지에 HTML이 담겨 있어. 이 HTML을 받아 브라우저가 화면에 렌더링 합니다.
출처:https://developer.mozilla.org/ko/docs/Web/HTTP/Overview
https://www.zerocho.com/category/HTTP/post/5b344f3af94472001b17f2da
HTTP 개요 - HTTP | MDN
HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜입니다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이기도 합니다. 클라이언트-서버
developer.mozilla.org
'면접 질문' 카테고리의 다른 글
TCP vs UDP (1) | 2023.10.08 |
---|---|
브라우저 저장소 (0) | 2023.02.27 |
캐시(Cache) (0) | 2023.02.23 |
라이브러리와 프레임워크 (0) | 2023.02.23 |
RESTful API란? (0) | 2023.02.21 |