본문 바로가기
HTTP

(191208) HTTP Method, Status code

by 양털의매력 2019. 12. 8.

HTTP Method

HTTP method에는 다양한 method가 있지만 자주 사용하는 (또는 앞으로 자주 사용하게 될) method 위주로 알아 보았다.

 

GET

서버에 자원을 요청

 

DELETE

서버에 자원을 제거

 

GET과 DELETE 요청 시에는 본문을 같이 보내지 않는다.

(본문을 넣어 보낼 수 있지만 본문을 어떻게 처리해야한다는 정의가 없기 때문에, 서버가 본문을 무시하는 것이 권장됨)

 

GET 요청시에는 본문을 담아 보내지는 않지만 요청을 위한 데이터는 담아 보낼 수 있다.

GET 요청 시에 주소에 query string으로 (주소 뒤에 ?와 필요한 요청에 대한 query를 넣어서) 데이터를 요청 할 수 있다. 

 

 

POST

서버에 자원을 생성

 

PUT

서버의 자원을 수정 (전체 수정)

 

PATCH

서버의 자원을 수정 (부분 수정)

 

POST, PUT, PATCH 요청 시에는 요청을 보낼 때 본문을 같이 보낼 수 있다.

 

OPTIONS

CORS에 관련된 method로 CORS 에 대해서 자세히 알아볼 때 더 자세히 다룰 예정이다.

 

HEAD

요청에서 헤더만 가져올 때 사용한다. 이때 헤더는 GET 요청의 헤더이다.

(HEAD로 요청을 보내면 GET 요청을 보내고 헤더만 가져온다??)

 

이외에도 TRACE, CONNET method 등이 있다.

 

HTTP Status code

HTTP 상태 코드는 응답할 때 주로 사용된다. 

 

1XX : 정보

- 100 : 서버가 요청의 일부를 받았으며, 나머지 요청을 더 기다리고 있다는 것을 나타낸다.

- 101 : http에서 https 같이 프로토콜 전환이 일어났을 때 전환이 승인되었음을 알려준다.

 

2XX : 성공

- 200 : 요청이 성공적으로 되었다는 것을 의미

- 201 : 새로운 컨텐츠 만들기에 성공했을 때 사용 (POST 요청에 대한 응답으로 주로 사용)

- 204 : 요청은 성공했지만 응답할 콘텐츠가 없을 경우

- 206 : 스트리밍의 경우와 같이 요청에 대한 응답으로 일부만 먼저 전송한 경우

 

3XX : 리다이렉션 (페이지를 이동 시킬 때 사용) - 이부분은 아직 잘 모르겠다..

- 301 : 영구적으로 주소가 바뀌었을 경우, 301 코드와 함께 새로운 주소로 이동시킨다.

- 302 : 임시적으로 주소가 바뀌었을 경우 사용 (대부분 리다이렉트는 302 코드를 사용, 영구적으로 바뀌는 경우가 드물다..)

- 304 : 이전에 방문했을 때의 요청 결과와 다르지 않을 경우 표시

- 307 : 임시로 페이지를 리다이렉트

 

4XX : 클라이언트 오류

- 400 : 서버가 요청을 이해하지 못할 경우 -> 요청이 올바른지 검사가 필요!!!!

- 401 : 로그인을 하지 않아 페이지를 열 권한이 없는 경우

- 403 : 금지된 페이지 (관리자 페이지!!!)

- 404 : 찾을 수 없는 페이지 (주소를 잘못 입력했다던지..등등, 참고로 403 대신 404를 내보내기도 함 -> 페이지 없는 것으로 위장)

- 408 : 요청 시간 초과

- 409 : 서버가 요청을 처리하는 과정에서 충돌이 발생한 경우 (예를 들어 회원가입을 했는데 이미 사용한 아이디인 경우 등)

- 410 : 영구적으로 사용할 수 없는 페이지

- 451 : 법적으로 막힌 페이지

 

5XX : 서버 오류 (요청은 제대로 전송되었지만, 서버가 처리하지 못하는 경우)

- 500 : 서버 내부 에러가 날 때 

- 501 : 서버에 아직 해당 요청을 처리하는 기능을 만들지 않았다는 뜻

- 502 : 서버로 가는 요청이 중간에서 유실

- 503 : 서버가 터졌거나, 유지보수중일 때 전송

- 504 : 서버 게이트웨이에 문제가 생겨 시간 초과가 된 경우

- 505 : HTTP 버전이 달라 요청을 처리할 수 없음

 

상태 코드를 잘 알고 있어야 해당하는 상황에 맞는 코드를 보낼 수 있다!!!!

물론, 100% 정확하게 보내지 않더라도 (예를들어 성공에 대한 상태는 전부 200으로 보내는 등) 큰 문제는 발생하지 않을 수 있지만 좋은 웹 사이트를 만들려면 상황에 맞는 코드를 보내주는 것이 중요!!

'HTTP' 카테고리의 다른 글

(191222) Headers  (0) 2019.12.22
(191215) CORS  (0) 2019.12.15
(191215) AJAX  (0) 2019.12.15
(191208) HTTP  (0) 2019.12.08

댓글