목록전체 글 (31)
가능세계

HTTP 헤더는 클라이언트와 서버가 HTTP 요청-응답 프로세스 중에 정보를 교환하는 수단입니다. 전송에 필요한 모든 부가적인 정보를 전달할 수 있도록 해줍니다. 이번 포스팅에서는 표현 헤더에 대해 알아봅시다. 1. 표현 헤더(Representation Header) 1-1. 표현이란 무엇을 의미하나요? 2014년에 HTTP 스펙이 개정되면서 엔티티 개념 대신 표현을 사용하기 시작합니다. 표현은 요청이나 응답에서 전달할 실제 데이터를 말합니다. 참고로 표현 헤더(Representation Metadata)와 표현 데이터(Representation Data)를 합쳐서 표현이라고 합니다. 1-2. 왜 표현이라고 하나요? 그런데 왜 표현이라고 지칭할까요? 바로, 서버가 보낼 리소스가 어떤 식으로 표현되어 있는..

HTTP 상태 코드란 무엇인가요? HTTP 상태 코드(HTTP Status Code)는 클라이언트에게 HTTP 요청의 처리 상태를 알려주는 서버의 응답(Response) 정보입니다. 상태 코드에는 어떤 것들이 있나요? 1xx(Informational): 요청이 수신되어 처리 중 2xx(Successful): 요청 정상 처리 3xx(Redirection): 요청을 완료하려면 추가 행동이 필요 4xx(Client Error): 클라이언트 오류로 서버가 요청을 수행할 수 없음 5xx(Server Error): 서버 오류로 유효한 요청을 처리하지 못함 1. 1xx (Informational) 1xx 번대의 상태 코드들은 요청이 수신되어 처리 중이라는 의미입니다. 실무에서 잘 사용되지 않기 때문에 깊이 다뤄지는 ..

HTTP 메서드의 속성을 고려하여 어떻게 서버에 요청을 보내냐에 따라 API 설계, 복구 매커니즘, 캐시 최적화 등 설계 로직이 달라질 수 있습니다. HTTP 메서드의 속성인 안전성, 멱등성, 캐시 가능에 대해 알아봅시다. 1. 안전성(Safe) HTTP 메서드의 안전성이란, 해당 메서드를 여러번 호출해도 리소스가 변경되지 않는 성질을 말합니다. 1-1. 안전한 메서드에는 어떤 것이 있나요? 안전한 메서드: GET, HEAD, OPTIONS, TRACE 안전하지 않은 메서드: POST, PUT, PATCH, DELETE GET 메서드는 단순히 데이터를 조회하므로 해당 리소스를 변경하지 않기 때문에 안전합니다. 반면, POST, PUT, PATCH, DELETE 메서드는 여러 번 호출할 경우 데이터가 변경..

리소스에 특정 동작을 수행하고 싶다면 어떻게 해야 할까요? 예를 들어, 회원이라는 리소스를 조회하고, 등록하고, 수정하고, 삭제하는 등의 행위는 어떻게 구분할까요? 바로 HTTP 요청 메서드(Http Request Methods)를 이용합니다. 메서드에는 어떤 것들이 있을까요? 1. HTTP 메서드 종류를 살펴봅시다 리소스에 수행할 행동을 HTTP 요청 메서드로 정의할 수 있습니다. 각각의 메서드는 서로 다른 기능을 수행하지만, 일부는 서로 공유하기도 합니다. 1-1. 주요 메서드 GET : 존재하는 리소스에 대한 요청, 조회 POST : 요청 데이터 처리 주로 등록에 사용 PUT, DELETE의 기능도 수행 PUT : 존재하는 리소스에 대한 전체 변경 리소스를 대체하거나 해당 리소스가 없으면 생성 PA..

HTTP 메시지는 클라이언트와 서버 간에 데이터가 교환되는 방식입니다. 메시지는 두 가지 유형이 있습니다. 요청(request): 클라이언트가 서버로 전송하여 서버에서 작업을 실행하도록 요청하는 메시지입니다. 응답(response): 서버가 그 요청에 대한 답변을 클라이언트에게 제공하는 메시지입니다. 1. HTTP 메시지 구조 HTTP 요청과 응답 메시지의 구조는 서로 닮았으며, 그 구조는 다음과 같습니다. HTTP 메시지는 위에서부터 차례대로 시작 라인(Start Line), 헤더(Header), 공백 라인(Empty Line), 바디(Message Body)로 구성되어 있습니다. 시작 라인 시작 라인에는 실행되어야 할 요청, 혹은 수행에 대한 성공 여부가 기록되어 있습니다. HTTP 헤더 요청 또는 ..