[WEB] DNS
·
WEB
❗️DNS란?웹 사이트에 접속하기 위해서는 브라우저가 사이트를 제공하는 서버에 데이터를 요청해서 받아야와야 한다.그러기 위해서는 서버의 IP 주소가 필요한데, IP 주소는 외우기 힘들기 때문에 외우기 쉬운 도메인으로 접속을 한다.도메인들의 정보들이 저장되어 있는 곳이 바로 DNS이다.Domain Name System도메인 이름과 IP 주소에 대한 정보를 관리하는 시스템도메인 이름 -> IP 로 변환해주는 기능 제공따라서 사용자는 IP 주소를 몰라도 됨www.naver.com에서 www는 host  name이고 naver.com이 도메인에 해당한다.❗️DNS 계층 구조하나의 서버가 모든 주소를 관리하기에는 무리가 있으므로 도메인을 계층적으로 관리해 서버를 분리한다.Root DNS Server: 루트 네임 ..
[WEB] HTTP/HTTPS
·
WEB
❗️HTTP(HyperText Transfer Protocol)클라이언트와 서버 간 데이터 전송을 위한 통신 프로토콜이다.HTTP에는 문제점이 있다.암호화하지 않은 통신 -> 누구든 알아볼 수 있음통신 상대를 확인하지 않음 -> 낮은 신뢰성따라서 정보에 대한 정확성이 떨어지고, 서버와 클라이언트가 보낸 정보를 중간에 누군가 바꾸거나 탈취할 위험성이 있다.이런 단점들을 보안하기 위해 나온 것이 HTTPS이다.❗️HTTPS(HyperText Transfer Protocol Secure)HTTPS는 HTTP에 보안(Secure)를 더한 것이다. HTTPS는 위에 나온 HTTP의 단점을 해결해준다.SSL/TLS를 사용해 데이터를 암호화 -> 통신하는 정보들을 제 3자가 보더라도 알아보지 못함대칭키와 비대칭키 암..
[WEB] JWT Token(+로그인)
·
WEB
졸업작품을 하면서 로그인을 자체 로그인으로 구현했었는데 최근에 JWT Token을 사용하기로 했다.처음 사용해보는거라 개념부터 정리해보려 한다.⭐️ JWT Token?JSON Web Token의 약자로 Json 객체에 인증에 필요한 정보를 담은 후 비밀키로 서명한 토큰이다.=> 인증에 필요한 정보들을 암호화시켜서 Token에 담아 사용하는 것이다. 구성은 header, payload, signauture로 되어 있고, 점을 통해 구분된다.- header토큰 타입이나, 서명에 어떤 알고리즘이 사용되어 있는지 등을 저장한다.{ "alg": "HS256", "typ": "JWT"}alg는 어떤 알고리즘을 사용했는지, typ는 타입의 값을 나타낸다. - payload토큰에서 사용할 정보의 조각들인 clai..
[WEB] PWA란?
·
WEB
PWA란?Progressive Web App의 약자HTML, CSS, JavaScript와 같은 웹 기술로 구현앱 스토어에서 설치하는 것 뿐만 아니라, 웹 기술만으로 앱과 같은 기능을 갖춤웹이지만 모바일 환경에서 설치가 가능하고, 앱과 유사한 사용자 경험을 제공해주는 웹 앱가장 대표적인 예시 - twitter.com보안상의 이유로 브라우저에서 접근하지 못하는 시스템 하드웨어와 소프트웨어에도 접근 가능네이티브 앱 vs PWA실행네이티브 앱은 설치를 해야 실행을 할 수 있지만PWA는 설치없이 브라우저에서 실행이 가능(설치도 가능)작성 방법네이티브 앱은 각 기기의 OS에 맞는 프로그래밍 언어로 개발(iOS - 스위프트, 안드로이드 - 자바)PWA는 HTML, CSS, JavaScript 사용배포네이티브 앱은 ..
[WEB] CORS? 어떻게 해결하지?
·
WEB
웹 개발 시, 다른 도메인 서버에 있는 자원을 가져다 쓰거나 제공해주는 경우가 많음웹 브라우저는 HTTP 요청에 대해 각기 다른 특징을 가지기 때문에 CORS ERROR가 생김 CORS란?Cross-Origin Resource Sharing교차 출처 리소스 공유 (교차 출처 = 다른 출처)다른 출처의 리소스 공유에 대한 허용/비허용 정책 • 출처(Origin)?Origin = scheme + host + port- scheme(protocol) : http, https- host : 사이트 도메인- port : 포트 번호https://www.google.com/maps라는 주소에서 protocol = https, host = www.google.com, port = :443  • 동일출처(Same-Ori..
[WEB] Node.js vs 브라우저 환경
·
WEB
•  Node.js vs 브라우저Node.js- Node.js 공식 사이트에서는Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임라고 설명되어 있다.(런타임? -> 프로그래밍 언어가 실행되고 있는 환경) 쉽게 다른 버전의 JavaScript  또는 JavaScript 실행환경이라고 생각하자! 브라우저- 우리가 일상생활에서 검색을 하는 사이트에 접속할 수 있는 도구- HTML 문서, 이미지 등 여러 콘텐츠를 우리에게 화면으로 표현해줌- 웹 정보를 화면에 표시하는 소프트웨어• 둘 다 JavaScript를 실행시키는데, Node.js가 왜 나왔나?구글이 크롬 웹 브라우저의 베타 버전을 발표 -> V8 엔진 탑재V8 엔진은 이전의 개발되었던 다른 엔진들보다 속도가 빨..