HTTP 메서드
| 메서드 | 용도 | 멱등성 | 안전성 |
|---|
GET | 리소스 조회 | O | O |
POST | 리소스 생성 | X | X |
PUT | 리소스 전체 수정 | O | X |
PATCH | 리소스 부분 수정 | X | X |
DELETE | 리소스 삭제 | O | X |
HEAD | 헤더만 조회 | O | O |
OPTIONS | 허용 메서드 확인 | O | O |
HTTP 상태 코드
2xx 성공
200 OK - 요청 성공
201 Created - 리소스 생성 성공
204 No Content - 성공, 응답 바디 없음
3xx 리다이렉션
301 Moved Permanently - 영구 이동
302 Found - 임시 이동
304 Not Modified - 캐시 사용
4xx 클라이언트 오류
400 Bad Request - 잘못된 요청
401 Unauthorized - 인증 필요
403 Forbidden - 권한 없음
404 Not Found - 리소스 없음
429 Too Many Requests - 속도 제한
5xx 서버 오류
500 Internal Server Error - 서버 오류
502 Bad Gateway - 게이트웨이 오류
503 Service Unavailable - 서비스 불가
cURL로 HTTP 테스트
# GET 요청
curl -X GET https://api.example.com/users
# POST with JSON
curl -X POST https://api.example.com/users \
-H "Content-Type: application/json" \
-d '{"name": "ch4nsec"}'
# 헤더 포함 응답 확인
curl -v https://example.com 2>&1 | head -30