[캡쳐 1] 요청&응답

1. 개요

- 클라이언트는 서버에 자원을 요청하고, 서버는 클라이언트에 요청에 대한 처리 결과를 응답한다.
- 이때, 클라이언트는 메소드를 이용해 서버에 요청의 목적이나 종류를 알린다.
- 서버는, 클라이언트의 요청을 처리한 결과상태코드와 함께 응답한다.

2. 메서드(Method)

- 클라이언트가 서버에 요청의 목적/종류를 알리는 수단

Method 설명
GET - 요청받은 URI의 정보를 검색하여 응답.
- URI 끝에 파라미터를 통해 요청정보 전달.
HEAD - GET과 동일하나, 응답에 BODY 없이 응답코드와 HEAD만 응답.
- 웹 서버 정보확인, 헬스체크, 버전 확인, 최종 수정일자 확인 등의 용도로 사용.
POST - 요청한 자원을 생성하거나 업데이트 목적으로 사용.
- 전송할 데이터를 BODY에 FORM 형태로 담아서 전송.
PUT - 요청 자원을 수정한다.
- 자원 전체 수정.
PATCH - PUT과 유사하게 요청된 자원을 수정할 때 사용한다.
- 일부 자원 교체.
DELETE - 요청된 자원을 삭제.
CONNECT - 요청한 자원에 대해 양방향 연결(터널)을 생성.
TRACE - 원격지 서버에 루프백 메시지를 호출하기 위해 사용되며, 테스트용으로 사용.
OPTIONS - 서버에서 제공하는 Method 종류를 확인할 때 사용.

3. 응답값(Status Code)

- 서버에서 클라이언트로 요청을 처리한 결과를 전송할때 사용
- 1xx(정보) : 요청을 받았고, 작업을 진행 중
- 2xx(성공) : 작업을 성공적으로 받았고, 이해했으며, 받아들여졌다는 의미
- 3xx(리다이렉션) : 요청을 완료하기 위해서는 리다이렉션이 이루어져야 한다는 의미
- 4xx(클라이언트 오류) : 요청은 올바르지 않다는 의미
- 5xx(서버 오류) : 서버가 응답할 수 없다는 의미

응답대역 응답코드 설명
1xx 100 - Continue
- 클라이언트로부터 일부 요청을 받았으며, 나머지 정보를 계속 요청.
101 - Switching Protocols
- 클라이언트가 Upgrade (en-US) 헤더를 통해 요청한 것에 따라 서버가 프로토콜을 바꾼다는 것을 알려주는 응답 코드.
2xx 200 - OK
- 클라이언트의 요청을 성공적으로 처리.
201 - Created
- 요청이 성공적으로 처리되어서 리소스가 생성됨.
202 - Accepted
- 요청이 받아들여졌지만 처리되지 않음.
3xx 301 - Moved Permanently
- 영구적으로 컨텐츠가 이동했을 때 사용.
- location 헤더를 통해 해당 URL을 포함해 응답.
302 - Found
- 일시적으로 컨텐츠가 이동했을때 사용.
- location 헤더를 통해 해당 URL을 포함해 응답.
304 - Not Modified
- 요청한 자원의 경로가 변경되지 않았으며, 클라이언트의 캐시된 자원을 사용하라는 의미.
4xx 400 - Bad Request
- 클라이언트의 요청 자체가 잘못된 경우 발생
401 - Unauthorized
- 인증이 필요한 리소스에 인증 없이 접근할 경우 발생.
403 - Forbidden
- 서버에 요청이 전달되었지만, 권한 때문에 거절되었다는 것을 의미.
404 - Not Found
- 서버가 요청받은 리소스를 찾을 수 없다는 것을 의미
5xx 500 - Internal Server Error
- 서버에 오류가 발생해 작업을 수행할 수 없을 때 사용.
503 - Service Temporarily Unavailable
- 서비스를 일시적으로 사용할 수 없을 때 사용.


- 참고

 

HTTP | MDN

하이퍼텍스트 전송 프로토콜(HTTP)은 HTML과 같은 하이퍼미디어 문서를 전송하기위한 애플리케이션 레이어 프로토콜입니다. 웹 브라우저와 웹 서버간의 커뮤니케이션을위해 디자인되었지만, 다

developer.mozilla.org

 

+ Recent posts