목록Network (5)
눈송이의 개발생활
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bG6gdV/btrZjzhYAqK/yFOav7ZJmY3ZErRmzTvKMk/img.png)
DNS (Domain Name System) Domain이란? IP 주소를 대신해서 사용하는 주소 외우기도 어렵고 한 눈에 파악하기 쉽지 않은 IP 주소보다 쉽고 분명하게 나타낼 수 있음 DNS란? 도메인 이름을 실제 네트워크 상에서 사용하는 IP 주소로 변환해주고 접속해주는 시스템 DNS 서버로 도메인 이름과 매칭된 IP 주소 확인 DNS는 데이터베이스 시스템 상위 기관에서 인증된 기관에게 도메인을 생성하거나 IP 주소로 변경할 수 있는 ‘권한’을 부여 계층 구조를 갖는 분산 데이터베이스 구조 도메인에 점(dot) == 계층 도메인은 계층적으로 관리 🧩 DNS 구성 요소 도메인 네임 스페이스(Domain Name Space) 도메인 이름 저장 분산 네임 서버(Name Server) = 권한 있는 DNS..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/8EYMX/btrZbrj42Mv/3Rv3XVU0A0kCCDYKkEQLNK/img.png)
다른 출처로의 리소스 요청을 제한하는 2가지 정책 CORS SOP 📕 Origin(출처)이란? protocol + host + port == origin(출처) 출처 : 서버의 위치를 찾아가기 위해 필요한 가장 기본적인 것들을 합쳐놓은 것 port는 생략 가능 http, https의 기본 port 번호가 지정되어 있기 때문에 BUT 출처에 포트 번호가 명시되어 있다면 port까지 모두 일치해야 같은 출처로 인정됨 ❓ 출처 비교는 누가? 브라우저! 출처를 비교하는 로직은 브라우저에 구현된 스펙 서버가 요청에 대한 응답을 잘 해줘도 브라우저가 분석했을 때 동일한 출처가 아니면 에러 발생 응답 데이터에는 문제가 없지만 브라우저가 차단한 것! SOP Same-Origin Policy 같은 출처에서만 리소스를 공..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dbF0YV/btrYTgbyt5v/CcsvcVWh8mciag4pWTHcAk/img.png)
토큰(Token) 인증에 대한 정보를 사용자가 저장 등장 이유 : 시스템의 규모가 커짐에 따라 서버(세션) 기반 인증 방식의 한계 드러남 웹/앱 어플리케이션이 발달하면서 서버 확장하기 어려워짐 서버가 각각의 클라이언트를 구분하기 위해 발급하는 클라이언트의 정보를 담은 암호화 데이터 요즘에는 JWT(JSON Web Token) 주로 사용 서버(세션) 기반 인증 방식 서버 측에서 사용자의 정보를 기억해야 함 사용자들의 정보를 기억하기 위해서는 세션 유지해야 함 메모리 or 디스크 or 데이터 베이스로 관리 Stateful server : 클라이언트의 상태를 계속해서 유지하고 이 정보를 서비스에 이용하는 역할의 서버 🔴 단점 세션(Session) 대부분 메모리에 세션 저장하는데 로그인 중인 사용자가 늘어나는 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dwtuOI/btrYKuwqzkK/enauMTLJw3zkrNrkxTtux0/img.png)
쿠키와 세션의 필요성 HTTP의 약점을 보완하기 위해 사용 비연결형(connectionless) 무상태(stateless) 통신이 1번 되면 서버와 클라이언트의 연결이 끊어지기 때문에 서버는 클라이언트가 누구인지 매번 인증해야 함 이 번거로움을 해결하기 위해 쿠키와 세션을 사용 쿠키(Cookie) 사용자에 의해 조작되어도 크게 문제되지 않을 정보를 브라우저(client)에 저장 서버에서 사용자의 컴퓨터(client)에 저장하는 작은 기록 정보 파일 필요할 때 정보 참조 or 재사용 가능 💡 특징 클라이언트에 총 300개의 쿠키 저장 가능 1개의 도메인은 20개의 쿠키 가질 수 있음 하나의 쿠키는 4KB까지 저장 가능 유효시간 동안은 브라우저가 종료되어도 인증이 유지됨 Response Header에 Set..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bnbogo/btrYITVHJ2Q/lkypVDpUGktQEpJ6ewZsK0/img.png)
TLS/SSL 인증서 클라이언트와 서버 간의 통신을 제3자가 보증해주는 전자화된 문서 공개키, 발급자, 유효 기간 등의 정보 포함하고 있음 CA(Certificate Authority) : 보증해주는 제 3자 통신 내용이 노출되거나 변경되는 것 방지 해당 서버가 신뢰할 수 있는 서버임을 보장 SSL 통신 과정 공개키 방식은 많은 컴퓨터 자원을 사용하는 단점이 있음 대칭키 방식은 효율적이지만 수신측과 공신측이 동일한 키를 갖게 되어서 보안상 문제가 발생한다는 단점이 있음 SSL은 암호화된 데이터를 전송하기 위해 공개키와 대칭키 혼합해서 사용 실제 데이터 : 대칭키 대칭키의 키 : 공개키 클라이언트와 서버가 주고 받는 실제 정보는 대칭키 방식으로 암호화 → 대칭키 방식으로 암호화된 실제 정보를 복호화할 때 ..