목록Network (16)
Rootable의 개발일기
🧾 Content-Type이란? Content-Type 헤더는 HTTP 통신에서 미디어 데이터의 타입(MIME type)을 지정하는 데 사용되며, 이는 리소스의 원래 타입을 나타내거나, 응답에서 실제 콘텐츠의 타입을 제공하거나, 요청에서 클라이언트가 보내는 데이터의 타입을 알려준다. 📌 Difference by Type ✅ application/x-www-form-urlencoded HTML form을 통한 POST 전송 방식 중 가장 기본이 되는 Content-Type 가장 큰 특징은 전송하는 데이터를 URL 인코딩 후 웹 서버로 전송한다는 점이다. 인코딩이 필요하기 때문에 크기가 큰 데이터 전송에는 적합하지 않다. 🔍 인코딩 규칙1. key=value 형식요청 데이터를 키와 값의 쌍으로 구성한다..
📌 OAuth 2.0 등장 배경 사용자는 자신의 개인 정보를 누군가에게 맡기는 것이 부담되고 안전하지 못하다고 느낄 것이다. 구글, 페이스북, 트위터와 같은 대형 플랫폼도 마찬가지다. 그래서 사용자는 비밀번호를 주기적으로 바꾸고, 또 이런 것을 권장한다. 사용자가 제3의 서비스를 이용한다면 사용자도 자신의 정보를 관리해야 하지만 이를 제3의 서비스 업체에서도 직접 저장하고 관리해야 한다. 이처럼 양쪽 모두의 부담을 덜기 위해 등장한 방법이 대형 플랫폼에 저장된 사용자 정보를 이용하자는 것이다. 하지만 대형 플랫폼에서도 사용자 개인 정보를 신뢰할 수 없는 제3의 서비스에 맡기는 것에 부담을 느낄 것이다. 따라서, 이러한 문제를 해결하면서 표준화된 방법이 필요해졌는데 이것이 OAuth의 등장 배경이 되었고,..
📌 세션 동작 방식 1. 사용자는 웹 브라우저에 로그인 정보를 입력한 후 웹 브라우저는 서버에 요청을 보낸다. 2. 웹 서버는 해당 정보가 올바른 정보인지 검증 후 올바르다면 Session Object and Session ID를 생성하여 Session ID를 쿠키에 담아 클라이언트로 반환한다. 쿠키는 HTTP 전용이므로, 해당 클라이언트의 것이 아닌 어떤 Javascript로도 읽을 수 없다. man in the middle attack과 같은 통신을 가로채는 공격으로부터 안전하다. 3. 다음 요청부터 웹 브라우저는 자동으로 해당 쿠키(with Session ID)를 함께 보낸다. 4. 서버는 전송받은 Session ID를 검색한 결과(Session Object)가 존재한다면 유효한 요청으로 판단하고 ..
📌 정의 클라이언트와 서버 사이에서 인증 및 권한 정보를 안전하게 전달하기 위한 JSON 형식의 암호화된 문자열 📢 주로 인증, 권한 부여, 정보 교환을 위해 사용함 JWT는 공유될 필요가 있는 정보를 가진 JSON 객체들을 포함한다. 각 JWT는 malicious party 또는 client에 의해 JSON 내용이 변경되지 않는 것을 보장하기 위해 암호화를 사용하여 서명받는다. 📌 JWT를 사용하는 이유 인증 서버가 Plain JSON으로서 데이터를 보낸다면 Client Application API는 올바른 정보를 받은 것인지 검증할 방법이 없다. 예를 들어 malicious attacker가 user ID를 변조할 수 있는데, 그때 Client Application API는 어떤 일이 일어났는지 알 ..