HTTP: 두 판 사이의 차이
기술노트
편집 요약 없음 |
|||
(같은 사용자의 중간 판 5개는 보이지 않습니다) | |||
4번째 줄: | 4번째 줄: | ||
웹에서 HTML 문서나 이미지, 데이터 등을 주고받기 위한 **기본 통신 규약(약속)**입니다. | 웹에서 HTML 문서나 이미지, 데이터 등을 주고받기 위한 **기본 통신 규약(약속)**입니다. | ||
* 웹 브라우저(클라이언트)와 웹 서버가 | * 웹 브라우저(클라이언트)와 웹 서버가 '''요청과 응답'''을 주고받을 때 사용됩니다. | ||
* 우리가 주소창에 `https://example.com`을 입력하면, 브라우저는 HTTP를 통해 HTML 문서를 요청하고, 서버는 그에 맞는 응답을 보내줍니다. | * 우리가 주소창에 `https://example.com`을 입력하면, 브라우저는 HTTP를 통해 HTML 문서를 요청하고, 서버는 그에 맞는 응답을 보내줍니다. | ||
11번째 줄: | 11번째 줄: | ||
=== 🔧 HTTP의 특징 === | === 🔧 HTTP의 특징 === | ||
* | * '''텍스트 기반의 프로토콜''' | ||
: 사람이 읽을 수 있는 구조 (예: GET /index.html) | : 사람이 읽을 수 있는 구조 (예: GET /index.html) | ||
* | * '''요청(Request)과 응답(Response)'''으로 구성 | ||
: 클라이언트가 요청하고, 서버가 응답함 | : 클라이언트가 요청하고, 서버가 응답함 | ||
* | * '''Stateless (상태를 저장하지 않음)''' | ||
: 요청 간의 연결 정보를 서버가 기억하지 않음 | : 요청 간의 연결 정보를 서버가 기억하지 않음 | ||
67번째 줄: | 67번째 줄: | ||
=== ✉️ 예시 흐름 === | === ✉️ 예시 흐름 === | ||
GET /index.html HTTP/1.1 | GET /index.html HTTP/1.1 | ||
Host: example.com | Host: example.com | ||
=== 💡 개발자가 꼭 알아야 할 것 === | |||
HTTP는 브라우저와 서버가 어떻게 대화하는지를 정한 약속 | |||
GET/POST/PUT/DELETE 같은 메서드로 서버에 요청 | |||
서버는 200, 404, 500 같은 숫자로 결과를 알려줌 | |||
웹 개발, API 개발 시 반드시 이해해야 하는 기본 지식! | |||
== 📚 참고 자료 == | |||
* [https://kmong.com/self-marketing/539751/LUA54VnQsP 💼 IT 면접용 CS PDF] | |||
* [https://inf.run/o1NX 📦 AWS 백엔드 강의] | |||
* [https://inf.run/rpX4 🤖 ChatGPT 앱 개발 강의] | |||
* [https://www.yes24.com/Product/Goods/122536127 📘 백엔드 번역서] | |||
* [https://kmong.com/self-marketing/660133/0lzAfkXXMc 📕 기술노트with알렉 PDF 도서] |
2025년 7월 4일 (금) 14:01 기준 최신판
🌐 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 | 서버 오류 | 서버에 문제가 있음 |
✉️ 예시 흐름
GET /index.html HTTP/1.1
Host: example.com
💡 개발자가 꼭 알아야 할 것
HTTP는 브라우저와 서버가 어떻게 대화하는지를 정한 약속
GET/POST/PUT/DELETE 같은 메서드로 서버에 요청
서버는 200, 404, 500 같은 숫자로 결과를 알려줌
웹 개발, API 개발 시 반드시 이해해야 하는 기본 지식!