본문 바로가기
📒 기술 또는 개념/🌍 Network

[Network] HTTP 메서드와 상태코드에 대해

by DEV_DAON 2023. 10. 13.

오늘은 HTTP가 무엇인지, 그리고 그 특징 중에 메서드와 상태코드에 대해 공부해 보자!

 

우선 HTTP란? HyperText Transfer Protocol의 약자로 인터넷에서 데이터를 주고받는 데 사용되는 프로토콜 중 하나이다.

HTTP는 클라이언트와 서버 간에 데이터를 교환하고 웹 브라우징, API호출 등과 같은 다양한 서비스와 프로그램의 통신을 가능하게 한다.

 

그렇다면 여기서! HTTPS란 무엇인지??

- HTTP에 SSL을 활용해서 데이터 통신을 암호화하여 보안성이 강화된 프로토콜이다.

즉, HTTP의 안전한 버전이라고 생각하면 편하다!

 

HTTP의 주요 특징은 요청과 응답 / 무상태 프로토콜 / 메서드 / URL / 상태 코드 등이 있는데 오늘은

메서드와 상태코드에 대해 알아보도록 하겠다! (실무에서 제일 많이 사용하므로 알아두면 좋다)

 

먼저 HTTP 메서드에 대해 알아보자!

 

HTTP 메서드는 HTTP 프로토콜을 사용하여 웹 서버와 클라이언트 간에 데이터를 요청하거나

제공하는 데 사용되는 특정 명령어 또는 동작을 나타낸다. 각 메서드는 클라이언트가 원하는 동작을

알려주는 역할을 한다. 가장 일반적으로 많이 사용되는 HTTP 메서드 5개를 알아보자!

 

1. GET : GET 메서드는 서버에서 데이터를 요청하는 가장 일반적인 HTTP 메서드이다.

클라이언트가 서버에게 특정리소스를 요청하며, 서버는 응답으로 반환한다.

 

2. POST : POST 메서드는 서버로 데이터를 제출하는 데 사용된다. 주로 HTML 양식을 통해 사용자로부터

데이터를 수집하고, 이 데이터를 서버로 제출할 때 사용된다. (로그인 정보, 파일 업로드 등에서 활발히 사용된다.)

 

3. PUT : PUT 메서드는 클라이언트가 서버에게 특정 리소스를 업데이하도록 지시하는 데 사용된다.

요청 본문에 업데이트할 데이터를 가지며, 해당 리소스를 완전히 대체한다.

 

4. PATCH : PATCH 메서드는 리소스의 일부를 수정하는 데 사용된다. 

PUT과 마찬가지로 여청 본문에 변경할 데이터를 가진다.

 

그렇다면 여기서! PUT과 PATCH의 차이가 무엇인지??

- PUT은 리소스를 완전히 대체하는데, PATCH는 리소스의 일부만 업데이트한다.

 

5. DELETE : DELETE 메서드는 서버로부터 특정 리소스를 삭제하도록 요청합니다.

서버는 해당 리소스를 삭제하고 삭제 여부를 응답한다.

 

이 다섯 가지 HTTP 메서드는 웹 서비스, 추후 정리할 RESTful API, 웹 애플리케이션 등 다양한 웹 기술에서 빈번하게 사용된다. 각 메서드는 특정 동작을 정의하므로, 적절한 메서드를 사용하자!

 

그렇다면 이제 상태코드에 대해 알아볼 시간이다.

 

상태코드란 서버는 각 응답 메시지와 함께 상태 코드를 반환하는데, 이 코드는 요청이 성공적으로 처리되었는지

아니라면 어떤 문제가 발생했는지를 나타내며, 클라이언트에 대한 정보를 전달하는 코드들이다! 

이번에도 가장 일반적으로 많이 보이는 상태코드 5가지에 대해서만 알아보자!

 

1. 200 OK : 이 상태 코드는 요청이 성공적으로 처리되었음을 나타낸다.

서버는 요청에 대한 적절한 응답을 반환하고, 클라이언트는 요청한 데이터나 작업을 성공적으로 수행한 것을 뜻한다.

 

2. 404 Not Found : 이 404 에러는 어디선가 한 번쯤은 들어봤을 것이다. 이 상태코드는 요청한 리소스를 찾을 수 없다는 것을 나타낸다. 클라이언트가 요청한 URL에 대한 리소스가 서버에 존재하지 않거나 사용자에게 접근 권한이 없는 경우 자주 발생한다.

 

3. 403 Forbidden : 이 상태코드는 클라이언트가 요청한 리소스에 접근 권한이 없는 경우에 사용된다. 서버가 클라이언트의 요청을 거부하고 리소스에 접근 권한이 없음을 나타낸다.

 

4. 500 Internal Server Error : 이 상태 코드는 서버에서 처리 중에 오류가 발생했음을 나타낸다. 일반적으로 서버 측에서 처리되지 않은 예외 상황이나 코드 버그 등으로 인해 발생한다.

 

5. 401 Unauthorized : 이 상태 코드는 클라이언트가 요청한 리소스에 접근하기 위한 인증이 필요함을 나타낸다. 클라이언트는 인증을 수행해야만 리소스에 접근 가능하다.

 

오늘은 알아두면 좋은 개념인 HTTP 메서드들과 상태코드들 5개를 정리해 보았다.

HTTP의 이러한 요소들을 이해하고 활용한다면! 더 좋은 개발자로 성장할 수 있을 것이다.