웹 브라우저를 HTTPS로 구축하고 운영하려면 SSL 인증서 설치가 필요합니다. HTTPS는 SSL을 사용하여 웹 서버와 웹 브라우저 간 전송되는 데이터를 암호화하기 때문입니다. 이를 위해 SSL 인증서를 설치하는 작업이 필요합니다. 이 글에선 SSL 인증서 설치가 무엇인지, SSL 설치 시에 어떤 인증서 파일들이 사용되는지에 대해 알아보겠습니다. SSL 인증서 설치란? SSL(Secure Sockets Layer)은 웹 서버와 브라우저와 같은 웹 클라이언트 간에 암호화된 링크를 설정하는 데 사용되는 표준 보안 프로토콜입니다. 웹 서버와 브라우저 간 데이터를 안전하게 보호해 주는 역할을 합니다. SSL을 설치하면 인증서가 생성되고 웹 서버와 브라우저가 공개 키를 교환합니다. 사용자가 ssl을 이용해 웹사..
일반적인 인터넷 브라우저는 사용자의 인터넷 사용 기록을 추적합니다. 방문한 사이트의 캐시, 쿠키를 저장합니다. 이러한 개인정보 추적으로부터 벗어나 익명으로 인터넷을 쓸 수 있는 방법이 있습니다. 토르 브라우저를 이용하면 됩니다. 토르 브라우저란? 토르(Tor) 브라우저는 인터넷 사용자의 개인정보를 보호한다는 미션을 가진 미국의 비영리 단체가 운영하는 프로젝트입니다. 토르 브라우저는 사이트 접속 시 IP를 3번 우회하는 과정을 거칩니다. 연결도 암호화합니다. 사용자가 방문한 웹사이트에 대한 추적이 불가한 구조입니다. 검색을 종료하면 모든 쿠키와 검색 기록이 자동으로 삭제됩니다. 쉽게 말해, 타인이 내가 어떤 웹사이트를 방문했는지 파악하지 못하도록 합니다. 토르는 데스크톱이나 노트북, 안드로이드 스마트폰에서..
크롬(chrome)과 엣지(edge) 중 어떤 게 더 좋은 브라우저일까요? 크롬은 구글이 자체 개발한 브라우저입니다. 현재 가장 많이 사용되는 브라우저입니다. 독주에 가까운 점유율입니다. 엣지는 마이크로소프트가 개발한 브라우저입니다. 구글이 오픈 소스로 공개한 Chromium 아키텍처 기반으로 만들었기 때문에 상당 부분 크롬과 비슷합니다. 크롬 vs 엣지 기본 정보 비교 크롬(Chrome) 엣지(Edge) 출시일 2008년 2015년 (2020년Chromium 기반으로 전환) 개발업체 구글 마이크로소프트 기본검색엔진 구글 빙 지원 플랫폼 윈도우, 맥, 리눅스, 안드로이드, iOS, 크롬OS 등 윈도우, 맥, 리눅스, 안드로이드, iOS 등 시장점유율 약 70% 약 3% 사용자 인터페이스 (UI) 전체적..
윈도우 운영체제는 파일 끝에 붙은 확장자를 기준으로 어떤 애플리케이션으로 파일을 처리할지 결정합니다. docx는 오피스로 열고, jpg는 사진앱으로 엽니다. pdf는 어도비 또는 브라우저로 실행합니다. 이와 비슷한 역할을 웹에서는 mime 타입이 수행합니다. 웹에서 파일의 확장자는 별의미가 없습니다. 대신 mime 타입을 통해 어떤 데이터 유형인지 식별합니다. MIME 타입이란? MIME(Multipurpose Internet Mail Extensions)은 이메일 프로토콜인 SMTP의 확장입니다. 이름의 뜻 자체도 "다용도 인터넷 메일 익스텐션"인 것을 보면 알 수 있습니다. SMTP는 ASCII로 인코딩 된 텍스트 이외에 다양한 종류의 데이터를 처리할 수 없습니다. 이런 문제를 해결하고 영상, 이미지..
세션이란? 세션은 웹 서버가 웹 사이트에 접속한 사용자를 인식하고 데이터를 저장할 수 있는 임시 저장소입니다. 세션은 사용자가 웹 사이트를 이용할 때 사이트 내 다양한 페이지에서의 모든 경험이 독립적이지 않고, 연결되는 경험을 제공합니다. 웹 세션이 필요한 이유 웹 사이트 통신에 사용되는 HTTP는 상태 비저장 프로토콜입니다. 때문에 사용자의 url 요청에 대한 응답 페이지를 제공하면 브라우저와 웹 서버 간의 tcp 소켓은 닫힙니다. 웹 사이트가 완전히 로드되면 그다음 요청을 하기 전까지는 데이터가 사용되지 않는 걸 떠올리면 됩니다. 이 방식은 웹 서버 입장에서 동일한 리소스로 더 많은 사용자에게 서비스를 제공할 수 있는 장점이 있습니다. 그러나 사용자 입장에서는 같은 사이트에서 요청하는 모든 url 요..
문자 인코딩이란 문자를 기계가 이해할 수 있는 형태(바이너리)로 변환하는 것입니다. 현재 전 세계에서 가장 많이 사용하는 문자 인코딩 방식은 UTF-8입니다. 훌륭한 호환성을 제공하기 때문입니다. 문자 인코딩의 흐름 인터넷이 보급되기 전엔 나라별로 인코딩 체계를 구축했습니다. 예를 들어, ASCII는 알파뱃을 바이너리로 매칭해 영어권 문자 인코딩의 표준을 마련한 체계입니다. 당시엔 텔레프린터라는 기계로 바이너리를 전송하면 문자를 프린트하는 방식으로 작동했습니다. 각 나라들은 자신들만의 인코딩 체계를 구축해서 문제없이 사용했습니다. 그러나 www가 보급되면서 전 세계적으로 문서 교환이 활발해졌습니다. 기존처럼 독립적인 인코딩 체계를 사용해서는 문서를 주고받을 수 없는 상황이 된 것입니다. 유니코드 컨소시엄..
URI와 URL의 차이를 검색하면, 종종 둘의 차이에 대해 오해하고 있는 블로그 글들이 있는 거 같습니다. URI와 URL를 구분 짓는 기준으로 쿼리스트링(url 끝에 붙는 download.do?uid=1234& 형태의 파라미터) 포함 여부를 언급하는 경우입니다. 예를 들어, https://www.example.com/test.html까지는 url이 맞지만, https://www.example.com/test.do?id=1234&id2=5678처럼 구체적인 리소스를 찾아가기 위한 파라미터가 포함되면 더 이상 url은 아니라는 것입니다. 이것은 잘못된 정의입니다. 뒤에 파라미터가 붙어도 url이라고 부릅니다. URI vs URL URI URI(Uniform Source Identifier)는 인터넷에서 리..
URL 인코딩이란? url 인코딩이란 url을 서버가 이해할 수 있는 표준 형식으로 변환하는 것을 말합니다. url 인코딩을 하는 기준은 ASCII 문자 집합입니다. 다시 말해 아스키 문자 코드에 포함되지 않는 문자에 대해서는 변환을 합니다. 아스키(American Standard Code for Information Interchange) 코드 자체가 미국을 기준으로 만들어진 체계이기 때문에 알파뱃이 아닌 다른 나라 언어의 문자가 포함되지 않습니다. 당연하게도, 한글이 포함된 url도 인코딩 되어야 합니다. URL 인코딩 예시 간단한 예로, 티스토리 url은 한글을 포함하고 있습니다. 제가 url 구조에 대해 작성한 페이지의 url 주소는 아래와 같습니다. https://change-words.tist..
URL은 Uniform Resource Locator의 약자로서 네트워크에서 자원이 있는 위치를 나타냅니다. 쉽게 말하면 리소스의 위치를 명시하며 해당 리소스를 불러오는 요청입니다. 리소스의 위치를 표현하는 형식이 url의 구조입니다. URL 구조 예시를 통해 URL의 구조를 설명드리겠습니다. 예시 출처는 mozila입니다. http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument http : 프로토콜입니다. 프로토콜이란 데이터를 교환하거나 전송하기 위한 방식입니다. 웹 사이트에선 대부분 http 또는 https를 사용합니다. 물론 모두 http인 것은 아닙니다. 메일 전송 시 사용하는 mailt..
인터넷 주소창 앞에 www는 왜 붙이는 걸까요? 그것은 '웹' 페이지에 접속한다는 의미입니다. World Wide Web은 WWW, W3 또는 웹(Web)이라고 부릅니다. 웹이란 인터넷을 통해 접속할 수 있는 웹 페이지 연결 시스템입니다. Web 웹과 인터넷의 차이 웹과 인터넷은 동의어가 아닙니다. 비유하자면 인터넷은 인프라고 웹은 그 위에 있는 서비스입니다. 인터넷은 전 세계적으로 연결된 네트워크 시스템으로 컴퓨터와 컴퓨터를 연결할 수 있도록 해줍니다. 이런 연결을 통해 웹 페이지가 제공됩니다. 인터넷은 1960년대 후반에도 있었지만 웹은 1989년 영국 과학자 팀 버너스 리(Tim Berners-Lee)가 발명했습니다. 웹을 구성하는 요소들 웹을 구성하는 핵심은 URl, HTTP, HTML, 웹 서버..