HTTP

기술노트

🌐 HTTP란?

HTTP(HyperText Transfer Protocol)는 웹에서 HTML 문서나 이미지, 데이터 등을 주고받기 위한 **기본 통신 규약(약속)**입니다.

  • 웹 브라우저(클라이언트)와 웹 서버가 **요청과 응답**을 주고받을 때 사용됩니다.
  • 우리가 주소창에 `https://example.com`을 입력하면, 브라우저는 HTTP를 통해 HTML 문서를 요청하고, 서버는 그에 맞는 응답을 보내줍니다.

🔧 HTTP의 특징

  • **텍스트 기반의 프로토콜**
사람이 읽을 수 있는 구조 (예: GET /index.html)
  • **요청(Request)과 응답(Response)**으로 구성
클라이언트가 요청하고, 서버가 응답함
  • **Stateless (상태를 저장하지 않음)**
요청 간의 연결 정보를 서버가 기억하지 않음

📬 HTTP 요청 메서드

웹에서 요청할 때 사용하는 **기본 명령어**들입니다:

메서드 설명 예시
GET 서버에서 데이터를 가져올 때 사용 페이지 보기
POST 서버에 데이터를 보낼 때 사용 회원가입, 로그인
PUT 서버에 데이터를 '수정'할 때 사용 글 수정
DELETE 서버에서 데이터를 삭제할 때 사용 글 삭제

📥 HTTP 응답 코드

서버는 요청에 대해 **숫자로 된 상태 코드**를 보내줍니다. 이 코드만 봐도 요청이 성공했는지, 실패했는지 알 수 있어요.

상태 코드 의미 설명
200 OK 성공 요청한 작업이 잘 수행됨
301 Moved Permanently 영구 이동 페이지 주소가 바뀜
400 Bad Request 잘못된 요청 요청 문법 오류 등
401 Unauthorized 인증 필요 로그인 필요
403 Forbidden 접근 금지 권한 없음
404 Not Found 찾을 수 없음 존재하지 않는 페이지
500 Internal Server Error 서버 오류 서버에 문제가 있음

✉️ 예시 흐름

```http GET /index.html HTTP/1.1 Host: example.com


💡 개발자가 꼭 알아야 할 것

HTTP는 브라우저와 서버가 어떻게 대화하는지를 정한 약속

GET/POST/PUT/DELETE 같은 메서드로 서버에 요청

서버는 200, 404, 500 같은 숫자로 결과를 알려줌

웹 개발, API 개발 시 반드시 이해해야 하는 기본 지식!

📚 참고 자료