250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 클린코드
- 이팩티브 자바
- 스프링부트와AWS로혼자구현하는웹서비스
- 혼공SQL
- mysql
- aop
- 이펙티브 자바
- DDD
- java
- 인덱스
- 알고리즘
- MariaDB
- 이펙티브자바
- 자바스터디
- 자바
- CleanCode
- 자바예외
- 인프런백기선
- 자료구조
- jpa
- 네트워크
- vue.js
- SQL쿡북
- AWS RDS
- 알고리즘분석
- 도메인 주도 개발 시작하기
- AWS
- 기술면접
- 인프런김영한
- react
Archives
- Today
- Total
기록이 힘이다.
[HTTP 완벽가이드] 3. HTTP 메시지 본문
728x90
메서드
메서드 | 설명 | 메시지 본문이 있는가? |
GET | 서버에서 어떤 문서를 가져온다. | 없음 |
HEAD | 서버에서 어떤 문서에 대해 헤더만 가져온다. | 없음 |
POST | 서버가 처리해야 할 데이터를 보낸다. | 있음 |
PUT | 서버에 요청 메시지의 본문을 저장한다. | 있음 |
TRACE | 메시지가 프락시를 거쳐 서버에 도달하는 과정을 추적한다. | 없음 |
OPTIONS | 서버가 어떤 메서드를 수행할 수 있는지 확인한다. | 없음 |
DELETE | 서버에서 문서를 제거한다. | 없음 |
위와 같은 사유로 인해 코드를 짤 때 , POST의 경우로 controller에서 다음과 같은 처리를 한다.
@ResponseBody
상태코드
전체범위 | 정의된 범위 | 분류 |
100-199 | 100-101 | 정보 |
200-299 | 200-206 | 성공 |
300-399 | 300-305 | 리다이렉션 |
400-499 | 400-415 | 클라이언트 에러 |
500-599 | 500-505 | 서버 에러 |
상태코드 | 사유 구절 | 의미 |
200 | OK | 요청은 정상이고, 엔티티 본문은 요청된 리소스를 포함하고 있다. |
201 | Created | 서버 개체를 생성하라는 요청(PUT)을 위한 것. 객체 생성 |
202 | Accepted | 요청은 받아들여졌으나 서버는 아직 그에 대한 어떤 동작도 수행하지 않았다. |
203 | Non-Authoritative Information | 엔터티 헤더에 들어있는 정보가 원래 서버가 아닌 리소스의 사본에서 왔다. |
204 | No Content | 응답 메시지는 헤더와 상태줄을 포함하지만 엔터티 본문은 포함하지 않는다. (폼 리프래스 사용) |
205 | Reset Content | 주로 브라우저를 위해 사용되는 하나의 코드 |
206 | Partial Content | 부분 혹은 범위 요청이 성공했다. Content-Rage와 Date 헤더를 반드시 포함, Etag와 Content-Location 중 하나의 헤더도 반드시 포함 |
300 | Multiple Choices | 클라이언트가 동시에 여러 리소스를 가리키는 URL을 요청한 경우, 그 리소스의목록과 함께 반환한다. |
301 | Moved Permanently | 요청한 URL이 옮겨졌을 때 사용한다. |
302 | Found | 301 상태 코드와 같다. 그러나 클라이언트는 Location헤더로 주어진 URL을 리소스를 임시로 가리키기 위한 목적으로 사용해야 한다. |
303 | See Other | 클라이언트에게 리소스를 다른 URL에서 가져와야 한다고 말해주고자 할 때 쓰인다. POST 요청에 대한 응답으로 클라이언트에게 리소스의 위치를 알려주는 것 |
304 | Not Modified | 클라이언트는 헤더를 이용해 조건부 요청을 만들 수 있다. 엔티티 본문을 가져서는 안된다. |
305 | Use Proxy | 리소스가 반드시 프락시를 통해서 접근되어야 함을 나타내기 위해 사용한다. 프락시의 위치는 Location 헤더를 통해 주어진다. |
306 | (사용되지 않음) | 현재는 사용되지 않는다. |
307 | Temporary Redirect | 301 상태 코드와 비슷하다. 그러나 클라이언트는 Location 헤더로 주어진 URL을 리소스를 임시로 가리키기 위한 목적으로 사용해야 한다. 이후의 요청에서는 원래 URL을 사용해야 한다. |
400 | Bad Request | 클라이언트가 잘못된 요청을 보냈다고 말해준다. |
401 | Unauthorized | 리소스를 얻기 전에 클라이언트에게 스스로 인증하라고 요구하는 내용의 응답을 적절한 헤더와 함께 반환한다. |
402 | Payment Required | 현재 이 상태 코드는 쓰이지 않지만, 미래에 사용될 가능성을 위해 준비 |
403 | Forbidden | 요청이 서버에 의해 거부되었음을 알려주기 위해 사용한다. |
404 | Not Found | 서버가 요청한 URL을 찾을 수 없음을 아렬주기 위해 사용한다. |
405 | Method No Allowed | 요청한 URL에 대해, 지원하지 않는 메서드로 요청받았을 때 사용한다. |
406 | Not Acceptable | 클라이언트는 자신이 어떤 종류의 엔티티를 받아들이고자 하는지에 대해 매개변수로 명시할 수 있다. |
407 | Proxy Authentication Required | 401 상태 코드와 같으나, 리소스에 대해 인증을 요구하는 프락시 서버를 위해 사용한다. |
408 | Request Timeout | 클라이언트의 요청을 완수하기에 시간이 너무 많이 걸리는 경우, 연결을 끊을 수 있다. |
409 | Conflict | 요청이 리소스에 대해 일으킬 수 있는 몇몇 충돌을 지칭하기 위해 사용한다. |
410 | Gone | 404와 비슷하나, 서버가 한때 그 리소스를 갖고 있었다는 점이 다른다. |
411 | Length Required | 서버가 요청 메시지에 Content-Length 헤더가 있을 것을 요구할 때 사용한다. |
412 | Precondition Failed | 클라이언트가 조건부 요청을 했는데 그중 하나가 실패했을 때 사용한다. |
413 | Request Entity Too Large | 서버가 처리할 수 있는 혹은 처리하고자 하는 한계를 넘은 크기의 요청을 클라이언트가 보냈을 때 사용한다. |
414 | Reqeust URI Too Long | 서버가 처리할 수 있는 혹은 처리하고자 하는 한계를 넘은 길이의 요청 URL이 포험된 요청을 클라이언트가 보냈을 때 사용한다. |
415 | Unsupported Media Type | 서버가 이해하거나 지원하지 못하는 내용 유형의 엔티티를 클라이언트가 보냈을 때 사용한다. |
416 | Requested Range Not Satisfiable | 요청 메시지가 리소스의 틀정 범위를 요청했는데, 그 범위가 잘못되었거나 맞지 않을 때 사용한다. |
417 | Expectation Failed | 요청에 포함된 Expect 요청 헤더에 서버가 만족시킬 수 없는 기대가 담겨있는 경우 사용한다. |
500 | Internet Server Error | 서버가 요청을 처리할 수 없게 만드는 에러를 만났을 때 사용한다. |
501 | Not Implemented | 클라이언트가 서버의 능력을 넘은 요청을 했을 때 사용한다. |
502 | Bad Gateway | 프락시나 게이트웨이처럼 행동하는 서버가 그 요청 응답 연쇄에 있는 다음 링크로부터 가짜 응답에 맞닥뜨렸을 때 사용한다. |
503 | Service Unavailable | 현재는 서버가 요청을 처리해 줄 수 없지만 나중에는 가능함을 의미하고자 할 때 사용한다. |
504 | Gateway Timeout | 상태 코드 408과 비슷하지만, 다른 서버에게 요청을 보내고 응답을 기다리다 타임아웃이 발생한 게이트웨이나 프락시에서 온 응답이라는 점이 다른다. |
505 | HTTP Version Not Supported | 서버가 지원할 수 없거나 지원하지 않으려고 하는 버전의 프로토콜로 된 요청을 받았을 때 사용한다. |
'IT서적' 카테고리의 다른 글
[관계형 데이터 모델링 노트] 01. 엔터티 이야기 (1) | 2023.12.18 |
---|---|
[HTTP 완벽가이드] 5. 웹 서버 (0) | 2023.12.15 |
[실용주의 프로그래머] 총합 정리 (1) | 2023.10.10 |
[클린 코드] 냄새와 휴리스틱 (0) | 2023.06.16 |
[Clean Code] 9장 단위테스트(+chatgpt) (0) | 2023.05.18 |