웹개발 기본상식

HTTP(HyperText Transfer Protocol)**

Irene1988 2025. 6. 18. 22:39

✅ 1. HTTP란?

**HTTP(HyperText Transfer Protocol)**는

**웹 브라우저(클라이언트)**와 웹 서버
**텍스트, 이미지, HTML, JSON 등의 데이터를 주고받는 규약(약속된 형식)**

즉, 웹에서 클라이언트와 서버 간의 통신을 위한 약속된 방식


✅ 2. HTTP의 작동 원리 (요청 & 응답 구조)

HTTP는 기본적으로 요청(Request)응답(Response) 구조로 작동한다.

[브라우저] → 요청 → [웹 서버]
[웹 서버] → 응답 → [브라우저]

✔ 예시:

  • 네가 브라우저에 https://naver.com을 입력하면,
    1. 브라우저가 서버에 "네이버 홈페이지 주세요" (요청)
    2. 서버가 HTML, CSS, JS 등을 돌려줌 (응답)

✅ 3. HTTP 메서드 종류 (Request 방식)

HTTP는 어떤 행동을 할지를 **"메서드"**로 표현해. 주로 쓰는 건 아래 4가지:

메서드 설명
GET 데이터를 조회 (ex: 페이지 열기)
POST 데이터를 서버에 전송 (ex: 로그인, 회원가입)
PUT 데이터를 전체 수정
DELETE 데이터를 삭제

 

🔸 GET은 URL 뒤에 데이터가 붙고, POST는 body에 붙는다 (보안이나 양 차이 있음)


✅ 4. HTTP 응답 상태 코드 (Response 코드)

서버가 요청에 대해 어떻게 응답했는지를 숫자로 알려준다.

상태 코드 의미 설명
200 OK 성공 요청 성공
301, 302 리다이렉트 페이지 이동
400 Bad Request 잘못된 요청 요청 문법이 틀림
401 Unauthorized 인증 필요 로그인 안 된 상태
403 Forbidden 접근 금지 권한 없음
404 Not Found 페이지 없음 URL이 잘못됨
500 Internal Server Error 서버 에러 서버에 문제 발생

 


✅ 5. HTTP와 HTTPS 차이

항목 HTTP HTTPS
보안 없음 있음(암호화됨)
포트 80 443
인증서 없음 SSL 인증서 사용
사용 예 간단한 테스트 서버 실서비스, 로그인/결제

🔒 HTTPS는 데이터가 암호화되어 중간에 도청·변조 위험이 줄어듦.


✅ 6. HTTP는 무상태 프로토콜 (Stateless)

  • 서버는 요청 간의 상태를 기억하지 않음.
  • 그래서 로그인 상태 유지 등을 위해 쿠키(cookie), 세션(session), 또는 JWT 같은 걸 사용함.

✅ 7. HTTP의 발전: HTTP/1.1 → HTTP/2 → HTTP/3

버전 특징
HTTP/1.1 기본 구조. 연결당 하나의 요청만 가능
HTTP/2 다중 요청 병렬 처리. 속도 개선
HTTP/3 UDP 기반. 지연시간 감소, 더 빠름

✅ 8. 실제 개발 시 HTTP가 어떻게 쓰이는가?

프론트엔드에서:

fetch('/api/user', {
  method: 'GET'
});

 

백엔드(Spring Boot 예시):

@GetMapping("/api/user")
public User getUser() {
  return userService.getUser();
}

✅ 9. 핵심 요약 정리

키워드 설명
클라이언트 ↔ 서버 통신 구조
Request / Response 요청과 응답
GET / POST 주요 메서드
200 / 404 / 500 상태 코드
Stateless 상태를 기억하지 않음
HTTPS 보안이 강화된 HTTP