📷 📸 📷 📸 📷 📸 📷 📸 📷 해당 글의 썸네일 입니다 📷 📸 📷 📸 📷 📸 📷 📸 📷
✅ INTRO
WEB 개발 관련 개념 공부를 기록하고자 합니다.
해당 내용에 대해서 부족한 부분이나 잘못된 부분 지적해 주시면 감사하겠습니다.
목차
1. HTTP란 ?
2. HTTP의 특징
1. HTTP(Hyper Text Transfer Protocol)란 ?
인터넷에서 데이터를 주고 받을 수 있게 해주며 , HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜을 HTTP 라고 한다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초라고 볼 수 있으며 , 우리는 현재 HTTP 세상 속에서 살고 있다고 봐도 무방하다.
2. HTTP(Hyper Text Transfer Protocol)의 특징
HTTP의 특징은 간략하게는 다음과 같이 요약 할 수 있다.
✔️ HTTP는 클라이언트 → 서버 구조로 이루어져 있다.
✔️ 클라이언트는 서버에 요청을 보내고 응답을 대기한다.
✔️ 서버는 요청에 대한 결과를 클라이언트에 응답한다.
(1) 클라이언트가 브라우저를 통해서 어떠한 서비스를 URI를 통해 서버에 요청(Request)
(2) 서버에서는 해당 요청에 대한 결과를 응답(Response)
✅ 하기 아래 그림을 통해 HTTP 데이터 교환 방식을 좀 더 쉽게 이해를 할 수 있다.
✨ 여기서잠깐 ! URI(Uniform Resource Identifer)는 무엇일까 ?
✔️ 서버가 클라이언트의 이전상태를 보존하지 않는다는 의미
✔️ 클라이언트의 요청에 어느 서버가 응답해도 상관 X
→ 무한 서버 증설 가능 + 응답 서버 변경가능 = 확장성 향상
✅ 하기 아래 그림을 통해 무상태(Stateless)를 좀 더 쉽게 이해를 할 수 있다.
✔️ 클라이언트와 서버가 한 번 연결을 맺은 후 , 클라이언트 요청에 대해 서버가 응답을 마치면 맺었던 연결을 끊어버리는 성질을 말한다.
✔️ 해당 비 연결성의 특징으로 인해 연결을 유지하기 위한 네트워크 리소스 자원을 효율적으로 사용 할 수 있다.
✅ 하기 아래 그림을 통해 비 연결성(Connectionless) 좀 더 쉽게 이해를 할 수 있다.
✔️ HTTP 메세지의 구성은 기본적으로 출발선/헤더/바디 로 나눠진다.
✔️ 클라이언트의 요청이냐 , 서버의 응답이냐에 따라 내용이 달라지지만 , 모두 HTTP 메세지의 구성은 출발선/헤더/바디로 기본적으로 같다.
📌 HTTP 메세지(REQUEST)
(1) 출발선 (Start Line)
(2) 헤더 (Headers)
(3) 본문 (Body)
✅ 하기 아래 그림은 HTTP 메세지 (REQUEST)의 예제이다.
📌 HTTP 메세지(RESPONSE)
(1) 출발선 (Start Line)
(2) 헤더 (Headers)
(3) 본문 (Body)
✅ 하기 아래 그림은 HTTP 메세지 Body에 해당한다(톰캣 실행시 반환되는 값)
✅ 하기 아래 그림은 HTTP 메세지 (RESPONSE)의 예제이다.