[Spring Boot] 1. HTTP 프로토콜

김건우's avatar
Mar 25, 2025
[Spring Boot] 1. HTTP 프로토콜
welcome 요청 -> index.html
GET 메서드 (조회 - Read) 📌 **설명** - 서버에서 **데이터를 가져올 때** 사용 - 요청에 대한 응답으로 데이터를 반환 ✅ 특징 요청 데이터를 Body에 담지 않고 URL에 포함 (예: ?id=1) ------------------------------------------------------------ POST 메서드 (데이터 생성 - Create) 📌 설명 서버에 새로운 데이터를 생성할 때 사용 요청 데이터를 Body에 포함하여 전송 ✅ 특징 요청 데이터가 Body에 포함 → 보안성이 높음 동일한 요청을 여러 번 보내면 중복 데이터가 생성될 수 있음 ------------------------------------------------------------ PUT 메서드 (데이터 수정 - Update) 📌 설명 서버의 기존 데이터를 수정할 때 사용 전체 데이터를 수정 (필드가 없으면 초기화됨) ✅ 특징 요청 데이터가 Body에 포함됨 ------------------------------------------------------------- DELETE 메서드 (데이터 삭제 - Delete) 📌 설명 서버의 데이터를 삭제할 때 사용 ✅ 특징 URL에 삭제할 데이터의 ID 포함 요청 본문 (Body) 없이 사용 ------------------------------------------------------------- Check Point ✅ Body 데이터를 포함하는 요청(POST, PUT)에서는 반드시 Content-Type을 설정해야 함 ✅ 서버가 Content-Type을 보고 데이터를 올바르게 해석할 수 있도록 도와줌 ✅ Content-Type을 잘못 설정하면 서버가 데이터를 이해하지 못해 오류 발생 가능
MIME 타입 정리 📌 **설명** 웹에서 HTTP 요청과 응답을 주고받을 때, Content-Type 헤더를 통해 데이터가 어떤 형식인지를 서버와 클라이언트가 이해할 수 있도록 전달합니다. ------------------------------------------------------------ text/plain (일반 텍스트) 설명: 단순한 텍스트 데이터 특징: HTML 태그가 적용되지 않음 줄바꿈(\n)이나 공백이 그대로 유지됨 ------------------------------------------------------------ text/html (HTML 문서) 설명: HTML 문서를 전송할 때 사용 특징: 브라우저가 HTML 문서를 해석하고 렌더링함 <h1>, <p> 같은 HTML 태그 사용 가능 ------------------------------------------------------------- application/x-www-form-urlencoded (폼 데이터) 설명: HTML 폼(form)의 데이터를 key=value 형식으로 인코딩하여 전송 특징: 데이터가 key=value&key2=value2 형식으로 인코딩됨 POST 요청에서 주로 사용됨 (예: 로그인, 회원가입) ------------------------------------------------------------- application/json (JSON 데이터) 설명: JSON(JavaScript Object Notation) 형식의 데이터를 전송할 때 사용 특징: 데이터가 { "key": "value" } 형식으로 전달됨 RESTful API에서 주로 사용됨
User-Agent -> OS 이름, 프로그램명
📌 HTTP 상태 코드 정리 HTTP 상태 코드는 클라이언트(브라우저, 앱 등)와 서버 간의 요청 및 응답 결과를 나타내는 숫자 코드입니다. ---------------------------------------------------------------------------- ✅ 1xx (정보 응답) 요청을 받았으며, 처리가 진행 중임을 의미 ✅ 2xx (성공) 요청이 정상적으로 처리됨 ✅ 3xx (리다이렉션) 요청을 완료하려면 추가 동작이 필요 ✅ 4xx (클라이언트 오류) 클라이언트의 요청이 잘못됨 ✅ 5xx (서버 오류) 서버가 요청을 처리할 수 없음 ---------------------------------------------------------------------------- 🚀 HTTP 상태 코드를 이해하면, API 개발과 디버깅이 훨씬 쉬워짐!
HTTP 쿠키(Cookie) 정리 쿠키(Cookie)는 서버와 클라이언트(브라우저) 간 상태를 유지하기 위해 사용되는 데이터 📌 쿠키의 동작 방식 1. 서버 → 클라이언트: 쿠키 전송 (Set-Cookie) 서버는 응답 시 Set-Cookie 헤더를 포함하여 클라이언트에게 쿠키를 전달 2. 클라이언트(브라우저): 쿠키 저장 클라이언트는 받은 쿠키를 브라우저에 저장 3. 클라이언트 → 서버: 쿠키 포함하여 요청 (Cookie) 이후 요청 시 Cookie 헤더에 쿠키를 포함하여 서버에 보냄 4. 서버는 쿠키를 이용해 클라이언트 식별 및 상태 유지
Share article

gunwoo