지난포스트 (deprecated)/TIR (deprecated)

181218 - Internet

.log('FE') 2018. 12. 18. 15:02
728x90
반응형

개요

 

웹 프론트엔드 개발 직군을 지향하면서 느낀건 그냥 페이지를 만들고 기능이 동작하게 하고 예쁘게 만들고 이런 부분도 중요하지만 최근엔 더 무시할 수 없는 부분이 바로 전반적인 웹에 대한 이해다.

 

요즘은 그냥 웹 페이지가 단일로 동작하지않는다. 많은 API 와 또 다른 서버에서 제공되는 데이터들을 토대로 웹페이지가 만들어지고 그걸 분석하는 툴이 만들어지고 날씨정보, 위치정보, 영화순위 들을 보여줄수있게 되었다.

 

여기에 보안이슈까지 겹쳐서 무조건 무제한으로 다른 서버에있는 정보를 마음대로 가져올수는 없다. 단적인 예로 그냥 프론트단에서 다른 서버의 데이터정보를 링크를 통해 가져오려고하면 CORS 이슈에 걸려버린다.

 

이는 서버단에서 처리해주어야 하는 문제이며 데이터는 자기 서버에있는 것만 쓰고 다른곳의 데이터는 함부로 가져갈 수 없도록 보호하기위한 보안장치이다.

 

서버단에서는 데이터를 요청하는 request 를 보낼때 헤더정보를 포함하여 전달해 줌으로써 인증을 받고 원활하게 데이터를 받아 올 수가 있다.

 

이 문제로 최근 몇몇 페이지를 공공데이터를 활용하여 만들려다가 몇시간씩 끙끙 앓기도 하였다.

 

이를 위해 이해해야하는 부분이 Internet 이라 생각했고 이 인터넷과 관련된 정보는 생활코딩의 WEB1 - HTML & Internet 에서 얻을 수 있다.

 

나는 html 부분은 넘어가고 내가 알고싶은 Internet 파트의 강의만 듣고 여기에 내용을 정리하려고 한다.

 

 

내용

 

인터넷이 동작하기 위해서는 두대의 컴퓨터가 필요하다. 하난 WebServer 이고 하난 WebBrowser 이다.

 

WebServer 에는 도메인 주소를 부여하고 index.html 이라는 파일을 생성하여 저장한다.

 

WebBrowser 는 주소창에 주소를 입력하게되면 웹 서버로 해당 주소에 대한 request 를 전달하게 되고 이 전달된 내용안에는 index.html 파일을 요청하는 정보도 같이 담겨져 있다.

 

요청을 받은 WebServer 는 디렉토리에서 index.html 이란 파일을 찾고 WebBrowser가 설치된 컴퓨터에 전기적 신호를 보내면 WebBrowser 는 그 코드를 읽어서 웹페이지를 화면에 출력하게된다.

 

이 과정에서 WebBrowser 와 WebServer 는 서로 정보를 주고 받으며 정보를 요청한 WebBrowser 는 ClientComputer 라고 불리고 WebServer 는  ServerComputer 라고 불리운다.

 

웹 서버는 직접 운영할수도 있지만 대부분의 웹은 호스팅업체를 통해서 웹서비스를 진행한다. 호스팅업체는 개인이 해야할 복잡한 서버구성에 대해서 완성된 서버를 제공해주는 역할을 한다.

 

 

HTTPS (Hyper Text Transfer Protocol Secure)

 

요즘 거의 모든 웹사이트는 http 가아닌 https 를 사용한다.

 

https는

 

1. 웹사이트의 무결성을 보호한다.

 

HTTPS는 침입자가 웹사이트와 사용자 브라우저간 통신을 변조하는것을 방지하는데 도움을 준다. 여기서 침입자는 의도적인 악성공격과 합법적인 침입을 포함한다.

 

2. 사용자의 개인정보 및 보안 보호

 

침입자가 웹사이트와 사용자간 통신을 몰래 수신하지 못하도록 방지한다.

 

 

HTTPS 는 어떻게 작동하는가?

 

HTTPS 페이지는 일반적으로 SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security)와 같이 통신을 암호화하는 두개의 보안 프로토콜중 하나를 사용한다. TLS 및 SSL 프로토콜은 모두 비대칭형 공개 키 인프라(PKI) 시스템을 사용한다. 비대칭시스템은 두개의 키를 사용하여 통신을 암호화하고 공개키와 비공개키를 사용하여 공개키로 암호화한것은 개인키로만 해독할 수 있고 그 반대도 마찬가지이다.

 

 

HTTPS 인증서란?

 

웹 페이지에 대한 HTTPS 연결을 요청하면 웹 사이트는 처음에 브라우저에 SSL 인증서를 보낸다. 이 인증서에는 보안세션을 시작하는데 필요한 공개키가 들어있고 이 초기 교환을 기반으로 브라우저와 웹 사이트가 SSL 핸드 셰이크를 시작한다.

728x90
반응형

'지난포스트 (deprecated) > TIR (deprecated)' 카테고리의 다른 글

181228  (0) 2018.12.29
181224  (0) 2018.12.25
181217 첫 React Native  (0) 2018.12.18
181217 - 블로그와 깃헙의 재정립  (0) 2018.12.17
181216 - 구직활동을 하면서 느낀점  (0) 2018.12.16