HTTP - HTTP 헤더 정보 - 3. 인증과 쿠키
2023. 5. 23. 21:24
CS/HTTP
들어가며 이전 포스트에서 HTTP 헤더의 표현 헤더 및 여러 일반 헤더에 대해 알아보았다. 이번 포스트에서는 인증과 쿠키의 개념에 대해 알아보도록 한다. 인증 인증과 관련된 HTTP 헤더는 Authorization과 WWW-Authenticate 두개로 나누어진다. Authorization은 클라이언트의 인증 정보를 서버에 전달하는 헤더이다. WWW-Authenticate 헤더는 리소스에 접근 시 필요한 인증 방법을 정의한 헤더인데 일반적으로 어떤 리소스에 접근 요청을 보낼 때 401 - UnAuthorized 응답과 함께 사용된다. 해당 헤더를 통해 클라이언트는 어떤 방식으로 인증을 수행하여야 하는지에 대해 알 수 있다. 쿠키 쿠키와 관련된 헤더는 2개가 있는데 그 전에 쿠키의 필요성과 개념에 대해 먼..
HTTP - HTTP 헤더 정보 - 2. 일반 헤더 - 전송 방식과 여러 가지 정보
2023. 5. 23. 01:34
CS/HTTP
들어가며 이전 포스트에서 HTTP헤더와 클라이언트와 서버가 상호간 보내려고 하는 데이터를 표현(Representation)으로 정의한 것과, 이 표현 데이터의 정보를 기록한 표현 헤더, 클라이언트가 선호하는 Content-Type이나 Content-Language 등을 사용한 협상(Content Negotiation)에 대해 알아보았다. 이번 포스트에서는 전송 방식에 대한 헤더와 여러 헤더 정보에 대해 알아보도록 한다. 전송 방식 HTTP 메시지를 전송하는 방식에는 4개의 방식이 존재한다. 단순 전송 압축 전송 분할 전송 범위 전송 단순 전송의 경우 일반적인 전송을 말하며 이때 표현 데이터의 길이를 나타내는 Content-Length 헤더가 들어간다. 압축 전송의 경우 표현 데이터가 압축된 데이터로 들어..
HTTP - HTTP 헤더 정보 - 1. 일반 헤더와 표현(Representation)
2023. 5. 22. 21:05
CS/HTTP
들어가며 이전까지 응답에 대해 알아보았다. 이번에는 HTTP 메시지에 있는 HTTP 헤더에 대해 좀 더 심화적으로 알아본다. HTTP 헤더 HTTP 헤더는 HTTP 전송에 필요한 모든 부가정보를 가지고 있는 부분을 말한다. 여기서 부가정보란 말 그대로 모든 부가정보로 바디의 내용, 길이, 크기, 압축 방법, 인증, 요청 클라이언트 정보, 서버 정보, 캐시 관련 정보, 쿠키 정보 등이 있다. 일반적으로 다음과 같은 메시지 Form을 다룬다. header-field =field-name":" OWS field-value OWS (OWS는 띄워쓰기 허용이란 의미이다.) 헤더 필드는 만약 필요하다면 임의의 헤더 필드를 만들어 HTTP 메시지에 추가하여 전송할 수 있다. 엔티티(Entity)와 표현(Represe..
HTTP - HTTP 응답 상태코드 2
2023. 5. 22. 18:45
CS/HTTP
들어가며 이전 포스트에서 HTTP 응답 메시지에 붙는 상태 코드에 대해 300번대 코드까지 알아보았다. 이번 포스트에서는 나머지 400, 500번 상태 코드에 대해서 알아본다. HTTP - HTTP 응답 상태코드 1 들어가며 이전 포스트에서 HTTP에 대한 요청(Request)을 할 때 사용하는 HTTP 메서드에 대해 알아보았다. 이번 포스트에서는 HTTP 요청 메시지에 대해 서버가 처리를 수행하고 난 뒤 클라이언트에게 sehun5515.tistory.com 4XX번 상태 코드 400번과 500번대 상태 코드는 요청을 제대로 처리하지 못했을 때 전송되는 상태 코드이다. 400번대 코드는 다음의 상황에서 사용된다. 서버가 요청을 처리하지 못하였고, 그 원인이 서버가 아닌 클라이언트에게 있을 때, 즉 요청에..
Spring Framework - 의존관계 자동 주입 - 3. @Primary와 @Qualifier
2023. 5. 22. 02:08
Spring & JPA/Spring
들어가며 이전 포스트에서는 의존관계 자동주입의 방식 중 Constructor Injection(생성자 주입)을 사용해야 하는 여러가지 이유와 생성자나 Getter, Setter등과 같은 보일러플레이트 코드를 줄여주는 롬복을 알아보았다. 이번 포스트에서는 의존관계 자동 주입을 사용 시에 조회되는 스프링 빈이 2개 이상일 때 발생하는 문제와 이를 어떻게 해결할 수 있는지에 대한 방법을 알아본다. Spring Framework - 의존관계 자동 주입 - 생성자 주입의 장점과 lombok 들어가며 이전 포스트에서 스프링 프레임워크가 의존관계 자동 주입을 하는것과 자동 주입 방식에 대해 알아보았다. 사실 이전에 배운 3가지의 DI 방식 중 어떤 방식을 사용해야 하는가에 대해 sehun5515.tistory.com..
HTTP - HTTP 응답 상태코드 1
2023. 5. 19. 19:05
CS/HTTP
들어가며 이전 포스트에서 HTTP에 대한 요청(Request)을 할 때 사용하는 HTTP 메서드에 대해 알아보았다. 이번 포스트에서는 HTTP 요청 메시지에 대해 서버가 처리를 수행하고 난 뒤 클라이언트에게 전송하는 응답(Response)을, 그 중에서도 상태 코드에 대해 알아본다. HTTP - HTTP 메서드 활용 들어가며 이전 포스트에서 HTTP 메서드의 각 특징과 성질에 대하여 알아보았다. 이번엔 이전에 배운 HTTP 메서드를 활용하여 클라이언트에서 어떻게 서버로 데이터를 전송하는지에 대해 알아본다 sehun5515.tistory.com 상태 코드(Status Code) 상태 코드는 클라이언트가 서버에게 요청을 전송한 뒤 서버에서 해당 요청을 받고, 요청의 처리 상태에 대해 현재 어떤 상태인지를 클..
Spring Framework - 의존관계 자동 주입 - 2. 생성자 주입의 장점과 lombok
2023. 5. 18. 01:41
Spring & JPA/Spring
들어가며 이전 포스트에서 스프링 프레임워크가 의존관계 자동 주입을 하는것과 자동 주입 방식에 대해 알아보았다. 사실 이전에 배운 3가지의 DI 방식 중 어떤 방식을 사용해야 하는가에 대해서는 이미 정해진 방식이 존재한다. 바로 생성자 주입(Constructor Injection) 방식인데 이번 포스트에서는 왜 생성자 주입을 사용해야 하는가에 대한 이유와 lombok을 통한 코드 간소화 방법에 대해서도 알아본다. Spring Framework - 의존관계 자동 주입 - 의존관계 주입 방법 들어가며 이전 파트인 컴포넌트 스캔의 경우에는 스프링 프레임워크에서 어떻게 각 클래스들을 스프링 빈으로 자동으로 등록하하는지에 대해 알아보았다. 이번 파트에서는 @Configuration에서 직 sehun5515.tist..
HTTP - HTTP 메서드 활용
2023. 5. 18. 00:48
CS/HTTP
들어가며 이전 포스트에서 HTTP 메서드의 각 특징과 성질에 대하여 알아보았다. 이번엔 이전에 배운 HTTP 메서드를 활용하여 클라이언트에서 어떻게 서버로 데이터를 전송하는지에 대해 알아본다. HTTP - HTTP 메서드 들어가며 이전 포스트에서 리소스를 잘 식별할 수 있는 URI 설계와 그렇게 설계함으로서 나올 수 있는 문제점들, 그리고 그러한 문제점을 해결하기 위해 HTTP 메서드를 가져온 것을 보았다. 이번 sehun5515.tistory.com 데이터 전송 - Client to Server 클라이언트(호스트)에서 서버로 데이터를 전송하는 것은 크게 두 가지로 나눌 수 있다. 하나는 쿼리 파라미터를 사용한 데이터 전송이다. 쿼리 파라미터는 localhost:8080/members?id=100 에서 ..
Spring Framework - 의존관계 자동 주입 - 1. 의존관계 주입 방법
2023. 5. 17. 01:37
Spring & JPA/Spring
들어가며 이전 파트인 컴포넌트 스캔의 경우에는 스프링 프레임워크에서 어떻게 각 클래스들을 스프링 빈으로 자동으로 등록하하는지에 대해 알아보았다. 이번 파트에서는 @Configuration에서 직접 수행하는 방식의 수동 의존관계 주입이 아니라 자동으로 DI를 하는 의존관계 자동 주입을 스프링 프레임워크에서 어떻게 수행하는지에 대해 알아본다. 만약 DI의 개념이 혼동스럽거나 기억나지 않는다면 DI의 개념 포스트나 다른 곳에서 DI의 개념을 확실히 익히고 보는 것을 추천한다. Spring Framework - DI의 개념 - 2. 다형성의 한계 돌아보기 1에서는 SOLID 원칙과 다형성에 대해서 잠시 언급했었다. 문제는 다형성을 사용하는것 만으로는 SOLID를 모두 지키면서 구현이 매우 힘들다는 점이다. 이번..
HTTP - HTTP 메서드
2023. 5. 17. 00:37
CS/HTTP
들어가며 이전 포스트에서 리소스를 잘 식별할 수 있는 URI 설계와 그렇게 설계함으로서 나올 수 있는 문제점들, 그리고 그러한 문제점을 해결하기 위해 HTTP 메서드를 가져온 것을 보았다. 이번 포스트에서는 HTTP 메서드들을 알아보고 각 메서드들의 특징과 사용 시점에 대해 논의한다. HTTP 메서드 HTTP 메서드는 리소스에 적용하는 어떠한 "행위"를 나타낼 수 있다. HTTP 메서드는 가장 대표적으로는 GET, POST, PUT, PATCH, DELETE로 나누어지며 부가적으로 몇 개의 메서드가 더 존재한다. GET GET 메서드는 리소스를 조회하기 위해 사용하는 HTTP 메서드이다. 서버에 전달하고 싶은 데이터는 query(query parameter, query string)를 통해서 전달하며 메..