일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- firestoredatabase
- Cloud
- W
- useEffect
- CSS
- SQL
- this
- data
- JavaScript
- IntersectionObserver
- til
- nosql
- supabase
- db
- github
- Github Pages
- Protocol
- HTML
- 배포
- bootstrap
- Fetch
- jQuery
- REACT
- API
- url
- TMDB
- web
- http
- Database
- Boostrap
- Today
- Total
072DATA
`HTTP` 상태코드 및 HTTP 메서드 본문
안녕
강의를 듣다가 정리하면서 학습하면 좋을 것 같아서
HTTP 상태코드 및 HTTP 메서드에 대해서 간략하게 적어보았다.
HTTP 상태코드
서버가 클라이언트의 요청을 처리한 결과이고
세자리 숫자로 구성되어 첫 번째 자리에 따라 의미가 다르다
1xx : 정보
- 100 (Continue) :요청의 일부를 서버가 받았으며, 나머지를 계속 보내달라는 의미
2xx : 성공
- 200 (OK) : 요청이 성공적으로 처리되었음을 나타냄
- 201 (Created) : 요청이 성공적으로 처리되었고 새로운 자원이 생성되었음을 나타냄
3xx: 리다이렉션
- 301 (Moved Permanently) : 요청한 리소스가 영구적으로 새로운 URL로 이동
- 302 (Found) : 오청한 리소스가 임시로 다른 URL로 이동
4xx: 클라이언트 오류 ( 내 잘못 - 프론트엔드 )
- 400 ( Bad Request ) : 잘못된 요청
- 401 ( Unauthorized ) : 인증이 필요
- 404 ( Not Found ) : 요청한 리소스를 찾을 수 없음
5xx: 서버 오류 ( 쟤 잘못 - 백엔드 )
- 500 ( Internal Server Error ) : 서버가 요청을 처리하는 동안 오류가 발생
- 502 ( Bad Gateway ) : 서버가 게이트웨이 또는 프록시 역할을 하는 서버로부터 유요하지 않은 응답을 받음
HTTP 메서드 및 Rest API
HTTP 메서드는 클라이언트가 서버에게 어떠한 요청을 할건지에 대해 알려주고
REST API는 HTTP 메서드를 사용하여 CRUD 작업을 수행함
GET
정의 및 특징 : 서버로부터 데이터를 요청할 때 요청 데이터가 URL에 포함 및 전송 되어 데이터를 조회할 때 사용함
REST API에서 GET : 특정 리소스를 조회할 때 사용
POST
정의 및 특징: 서버에 데이터를 전달할 때 요청 데이터가 요청 본문(바디)에 포함되고 데이터 생성 및 제출할 때 사용
REST API에서 POST : 새로운 리소스를 생성할 때 사용함
PUT, PATCH
정의 및 특징 : 서버의 데이터를 업데이트할 때 데이터가 본문(바디)에 포함되어 주로 기존 데이터를 수정할 때 사용
REST API에서의 PUT, PATCH : 기존 리소스를 수정할 때 사용함
PUT : 덮어쓰기 ( PUT을 사용해서 데이터를 변경시키면 전달하는 데이터로 기존 데이터를 덮어 씌움 )
PATCH : 진짜 업데이트 ( 예를 들어 title을 변경하면 title만 변경됨)
DELETE
정의 및 특징 : 서버의 특정 데이터를 삭제할 때 사용
REST API에서의 DELETE : 특정 리소스를 삭제할 때 사용
마치며
글을 마무리하면서 가장 기억에 남는 2가지는
HTTP 상태 코드에서 4xx = 내 잘못 5xx 니 잘못 이게 기억이 남는다
대부분 상태 코드가 뜨면 4xx번 대여서 거의 다 내 잘못이었단 걸 이제 깨달았고
HTTP 메서드에서 PUT과 PATCH의 차이를 명확히 몰랐는데
같은 업데이트 기능을 하는 메서드라고 착각했다가는
나중에 큰 일을 치룰 수도 있겠다고 생각했다..
PUT 같은 경우에 내가 지정한 리소스만 바꾸는게 아닌 기존 데이터
전체 리소스를 전달하는 데이터로 덮어 씌우기 때문에 생각보다 위험하다...
하지만 둘 다 유용하게 많이 쓰이고 있다는 얘기를 듣고
두 메서드에 대해서 명확한 차이점을 공부하여 사용해야겠단 생각이 들었다 끝
'Anything > HTTP' 카테고리의 다른 글
IP, TCP, UDP의 특징 (0) | 2024.08.14 |
---|