HTTP: 두 판 사이의 차이
기술노트
(CS 용어 정리 - HTTP 추가) |
편집 요약 없음 |
||
(같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
== HTTP란? == | == 🌐 HTTP란? == | ||
'''HTTP(HyperText Transfer Protocol)'''는 | |||
웹에서 HTML 문서나 이미지, 데이터 등을 주고받기 위한 **기본 통신 규약(약속)**입니다. | |||
* 웹 브라우저(클라이언트)와 웹 서버가 **요청과 응답**을 주고받을 때 사용됩니다. | |||
* 우리가 주소창에 `https://example.com`을 입력하면, 브라우저는 HTTP를 통해 HTML 문서를 요청하고, 서버는 그에 맞는 응답을 보내줍니다. | |||
---- | |||
=== 🔧 HTTP의 특징 === | |||
* | * **텍스트 기반의 프로토콜** | ||
: 사람이 읽을 수 있는 구조 (예: GET /index.html) | |||
* **요청(Request)과 응답(Response)**으로 구성 | |||
: 클라이언트가 요청하고, 서버가 응답함 | |||
* **Stateless (상태를 저장하지 않음)** | |||
: 요청 간의 연결 정보를 서버가 기억하지 않음 | |||
---- | |||
==== | === 📬 HTTP 요청 메서드 === | ||
웹에서 요청할 때 사용하는 **기본 명령어**들입니다: | |||
= | {| class="wikitable" | ||
! 메서드 !! 설명 !! 예시 | |||
|- | |||
| GET || 서버에서 데이터를 가져올 때 사용 || 페이지 보기 | |||
|- | |||
| POST || 서버에 데이터를 보낼 때 사용 || 회원가입, 로그인 | |||
|- | |||
| PUT || 서버에 데이터를 '수정'할 때 사용 || 글 수정 | |||
|- | |||
| DELETE || 서버에서 데이터를 삭제할 때 사용 || 글 삭제 | |||
|} | |||
---- | |||
==== | === 📥 HTTP 응답 코드 === | ||
* | 서버는 요청에 대해 **숫자로 된 상태 코드**를 보내줍니다. | ||
이 코드만 봐도 요청이 성공했는지, 실패했는지 알 수 있어요. | |||
= | {| class="wikitable" | ||
! 상태 코드 !! 의미 !! 설명 | |||
|- | |||
| 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 개발 시 반드시 이해해야 하는 기본 지식! | |||
== | == 📚 참고 자료 == | ||
* [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://www.youtube.com/c/%EA%B8%B0%EC%88%A0%EB%85%B8%ED%8A%B8with%EC%95%8C%EB%A0%89 🎬 기술노트with알렉 유튜브] | |||
2025년 6월 11일 (수) 12:17 판
🌐 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 개발 시 반드시 이해해야 하는 기본 지식!