Technology/Web 6

SOP(Same Origin Policy)의 한계와 쿠키(Cookie)의 SameSite 속성의 활용

목차 1. SOP 와 SameSite 와 관련한 추억..💫 2. SOP 의 필요성 2-1. SOP 란? 2-2. Same Origin vs Cross Origin 2-3. SOP 매커니즘 이해하기 2-4. Preflight Request 란? 3. Spring boot 의 Preflight Request 처리 과정, 간단하게 살펴보기! 4. SOP 의 한계 5. 쿠키의 SameSite 속성에 대해 알아보자! 5-1. SameSite 란? 5-2. Same Site vs Cross Site 6. SameSite 속성별 필요성 6-1. SameSite = None 6-2. SameSite = Strict 6-3. SameSite = Lax 7. 오늘날 SameSite 사용에 대한 고찰 1. SOP 와 Sam..

Technology/Web 2024.02.20

상태유지기술, 쿠키(Cookie)와 세션(Session)

무상태(Stateless) 프로토콜, HTTP 웹 브라우저와 웹 서버는 HTTP를 통해 데이터를 주고받으며, 웹 브라우저는 데이터 요청자로서, 웹 서버는 데이터 응답자로서 클라이언트/서버 구조를 이룬다. 이때 HTTP는 무상태 프로토콜이라고도 하는데, 서버가 해당 요청에 대한 응답을 하고 나면 그 이후로 클라이언트가 이전에 무엇을 했는지에 대한 정보를 기억하지 못하는 것이다. 이러한 점으로 인해 서버 입장에서는 확장성이 높아지는 장점이 있다. 왜냐하면 서버가 클라이언트별 정보를 별도로 저장하지 않으므로 특정 클라이언트를 전담하는 서버가 따로 존재하지 않기 때문에 클라이언트의 요청이 급격히 늘어나도 서버 입장에서는 서버 대수를 늘리면(스케일 아웃) 그만이다. 하지만 클라이언트 입장에서는 서버에 이전에 보냈..

Technology/Web 2022.07.07

form 태그를 이용한 POST 요청 인코딩 타입 속성 3가지

HTML form 태그의 enctype 속성 3가지 HTML form 태그를 이용하여 특정 서버에 POST 요청을 통해 HTTP 요청 메시지 바디에 데이터(form data)를 보낼 경우 인코딩 타입을 지정할 수 있는데, 이때 form 태그의 enctype 속성을 이용할 수 있다. enctype의 속성 값 즉, 인코딩 타입은 다음과 같이 3개의 타입이 할당될 수 있다. 1. application/x-www-form-urlencoded 2. multipart/form-data 3. text/plain ※ 참고 : form 태그의 enctype에 대한 정의들 1. The enctype attribute of the FORM element specifies the content type used to enco..

Technology/Web 2022.06.26

OAuth 2.0를 통한 인증과 인가(Feat. Github, Spring boot)

인증과 인가 인증(Authentication)이란 무엇일까? 인증은 "사용자가 자신이 누구인지 증명하는 것"이라고 볼 수 있다. PC방을 예로 들어보자. 해당 PC방에서는 밤 10시 이후에는 만 19세(성인) 미만의 청소년 등은 PC방 서비스를 이용할 수 없다는 조건이 있다고 한다. 이때 밤 10시가 되면 현재 이용하고 있는 사람들과 밤 10시 이후에 PC방 서비스를 이용하러 온 사람들은 자신이 성인인지를 입증해야 하는 작업이 필요할 것이다. 이러한 작업을 인증이라고 할 수 있는 것이다. 이를 웹에서 적용해본다면 일례로 로그인을 생각해볼 수 있다. 로그인은 사용자가 자신이 서버에 등록된 회원임을 증명하는 작업 즉, '인증'인 것이다. 반면, 인가(Authorization)란 인증을 통해 조건에 부합하는지..

Technology/Web 2022.06.15

JWT 기반 인가에 대한 고찰

왜 JWT 의 장점을 버렸나요? 코드스쿼드 마스터즈 코스 과정에서 숙소 예약 서비스 팀 프로젝트를 진행하면서 미션 요구사항을 지키기 위해 세션이 아닌 JWT 을 통한 인가 기능을 구현해보았다. 더 나아가 JWT 에 대해 학습하면서 자연스럽게 access token 과 refresh token 에 대해 알게 되었고 access token 이 만료될 때 refresh token 을 검증하여 access token 을 갱신해주는 처리까지 구현해보았다. 이번에 구현한 대략적인 JWT 기반의 인가 과정은 아래와 같다. 나름대로 위풍당당하게 구현 뒤 리뷰어의 리뷰를 기다렸는데, 아니나 다를까 담당 리뷰어로부터 이에 대해 질문을 받았다. "JWT 의 장점인 '서버의 자원을 사용하지 않는다'를 포기하면서 refresh..

Technology/Web 2022.06.10