✅ 1. HTTP 메서드 (Methods)
요청의 의도를 나타내는 거야. 대표적으로:
메서드설명
GET | 데이터 조회 (서버에서 정보 가져오기) |
POST | 새로운 데이터 생성 (폼 제출 등) |
PUT | 기존 데이터 전체 수정 |
PATCH | 기존 데이터 부분 수정 |
DELETE | 데이터 삭제 |
🧠 예시:
GET /users/123 HTTP/1.1
POST /users HTTP/1.1
✅ 2. HTTP 상태 코드 (Status Codes)
서버가 클라이언트의 요청에 어떻게 응답했는지를 알려주는 숫자 코드야.
🔢 주요 코드 정리:
- 200 OK: 정상 처리 완료
- 201 Created: 생성 완료 (주로 POST 요청 결과)
- 204 No Content: 성공했지만 응답 본문 없음
- 400 Bad Request: 잘못된 요청
- 401 Unauthorized: 인증 필요 (ex. 로그인 안함)
- 403 Forbidden: 권한 없음
- 404 Not Found: 요청한 리소스 없음
- 500 Internal Server Error: 서버 에러
✅ 3. 요청(Request)와 응답(Response)의 구조
📨 요청 구조 예:
GET /api/users HTTP/1.1
Host: example.com
Authorization: Bearer abc123
Content-Type: application/json
📦 응답 구조 예:
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 1,
"name": "BG"
}
✅ 4. 헤더 (Headers)
HTTP 메시지의 부가 정보를 담는 곳이야.
헤더의미
Content-Type | 데이터 형식 (ex: application/json, text/html) |
Authorization | 인증 정보 (ex: Bearer token) |
Accept | 클라이언트가 원하는 응답 형식 |
Cookie | 클라이언트가 서버에 전달하는 쿠키 |
Set-Cookie | 서버가 클라이언트에 저장시키는 쿠키 |
✅ 5. 쿠키와 세션, 토큰 인증
- 쿠키: 클라이언트에 저장되는 작은 데이터. 로그인 유지에 자주 사용.
- 세션: 서버에서 사용자 정보를 저장.
- JWT 토큰: 인증 정보를 담아 클라이언트가 직접 보유. 주로 Authorization 헤더에 포함.
✅ 6. CORS (Cross-Origin Resource Sharing)
- 서로 다른 출처(origin) 간의 요청을 허용할지 말지 정하는 정책.
- 예: 프론트엔드(3000포트)와 백엔드(8080포트)가 다를 경우 CORS 에러 발생 가능.
- 서버에서 Access-Control-Allow-Origin 헤더로 허용 설정해야 함.
✅ 7. Postman이나 curl로 테스트
curl -X POST https://example.com/login \
-H "Content-Type: application/json" \
-d '{"username": "bg", "password": "1234"}'
'개발' 카테고리의 다른 글
HTTP & REST 심화 개념을 더 깊게 파보자 (0) | 2025.04.08 |
---|---|
왜 개발자는 HTTP를 알아야 할까 (0) | 2025.04.08 |
인코딩 설정이 달라 한글 문자열이 깨지는 현상 개선 (2) | 2024.06.07 |
가비아 SSL 인증서 설치하기 (0) | 2024.04.29 |
MSSQL 함수 톺아보기(getdate(), dateadd(), convert(), LEFT()) (0) | 2024.04.02 |