본문 바로가기

WEB

IP, TCP, DNS가 HTTP를 이용해 통신을 할 때의 역할 IP, TCP, DNS가 HTTP를 이용해 통신을 할 때의 역할
DNS DNS(Domain Name System)는 HTTP와 같이 응용 계층 시스템에서 도메인 이름과 IP 주소 이름 확인을 제공한다. 컴퓨터는 IP 주소와는 별도로 호스트 이름과 도메인 이름을 붙일 수 있다. 예를 들어, “www.hackr.jp"과 같이 적혀 있다. 주로 사용자는 IP 주소 대신 이름을 이용하여 상대의 컴퓨터를 지정한다. DNS는 도메인명에서 IP 주소를 조사하거나 반대로 IP 주소로부터 도메인명을 조사하는 서비스를 제공한다.
HTTP와 관계가 깊은 프로토콜은 IP/TCP/DNS TCP/IP 중에서 HTTP와 관계가 깊은 IP, TCP, DNS 세 개의 프로토콜이 있다. 1) 배송을 담당하는 IP IP(Internet Protocol)는 계층으로 말하자면 네트워크 층에 해당된다. Internet Protocol이라는 과장된 이름이 지어져 있지 만, 실제 이름 그대로 인터넷을 활용하는 거의 대부분의 시스템이 IP를 이용하고 있다. IP는 TCP/IP 라는 명칭의 일부 가 될 정도로 중요한 프로토콜이다 IP와 IP 주소는 다르다. IP는 프로토콜의 병칭이다. IP의 역할은 개개의 패킷을 상대방에게 전달하는 것이다. 상대방에게 전달하기까지 여러 가지 요소가 필요하다. 그 중에 서도 IP 주소와 MAC 주소 (Media Access Control Address)라는 요소가 중요하다. I..
네트워크의 기본은 TCP/IP TCP/IP는 프로토콜의 집합이다. HTTP를 이해하기 위해서는 TCP/IP 프로토콜에 대해 어느 정도 알고 있어야 할 필요가 있다. 인터넷을 포함하여 일반적으로 사용하고 있는 네트워크는 TCP/IP라는 프로토콜에서 움직이고 있다. HTTP는 그 중 하나이다. 컴퓨터와 네트워크 기기가 상호간에 통신하기 위해서는 서로 같은 방법으로 통신하지 않으면 안된다 . 예를 들면, 어떻게 상대를 찾고, 어떻게 상대에게 이야기를 시작하고, 어떠한 언어로 이야기를 하며, 어 떻게 이야기를 종료할까와 같은 규칙을 결정할 필요가 있다. 이렇게 서로 다른 하드웨어와 운영체제 등 을 가지고 서로 통신을 하기 위해서는 모든 요소에 규칙이 필요하게 된다. 이러한 규칙을 프로토콜이라 고 부른다. TCP/IP란 인터넷에 관련된 다양한..
웹은 HTTP로 나타낸다 웹 브라우저는 웹브라우저 주소 입력란에 지정된 URL에 의지해서 웹 서버로부터 리소스라고 불리는 파일 등의 정보를 얻고 있다. 이 때, 서버에 의뢰를 하는 웹 브라우저 등을 클라이언트(Client)라고 부른다. 주소로 지정한 서버의 리소스(파일 등의 정보)를 가지러 간다(건네는 경우도 있다) 이렇게 클라이언트에서 서버까지 일련의 흐름을 결정하고 있는 것은 웹에서 HTTP(HyperText Transfer Protocol)이라 불 리는 프로토콜이다. 프로토콜이라는 의미는 “약속”이다. 즉, 웹은 HTTP라는 약속을 사용한 통신으로 이루어져 있다.
서버사이드렌더링 & 클라이언트사이드렌더링 1. 서버 사이드 렌더링 - 동적으로 화면을 다 만들어주고 클라이언트에 내려주는것 - 컨트롤러에서 데이터가져와서 html태그에 만들고 프론트로 내려주는것 2. 클라이언트 사이드 렌더링 (Single Page Application(SPA)) - 서버는 동적처리없이, 파일만 내려주고 클라이언트가 그 이후에 동적으로 동작을 해서 화면이 바뀌는것 - 자바스크립트가 api호출해서 비동기처리로 댓글 데이터를 가져와서 화면에 보여주는것 - 자바스크립트 코드가 내려간다음에 실행함, 웹브라우저에서 실행한 코드 이다. 3. 나의 프로젝트 정리하면 내 프로젝트에서 글의 상세페이지는 서버 사이드 렌더링 + 클라이언트 사이드 렌더링 2가지가 합쳐져 있다고 봐야할것같다. 댓글의 리스트를 가져오는것은 클라이언트 사이드 렌더링이고 ..
인증과 권한부여(인가) 웹 서비스에서 보안이라는 주제의 가장 기본이 되는 개념은 인증과 권한부여라고 볼 수 있다. 1. 인증이란 인증(Authentication)은 쉽게 말해서 자신을 증명하는 것이다. 다시 말해서 자기 스 스로가 무언가 자신을 증명할 만한 자료를 제시하는 것이다. 또는 자신이 누구라고 주장하는 사람을 확인하는 절차이다. 인증은 프론트엔드 관점에서 봤을 때 로그인, 회원가입과 같이 사용자의 도입부분을 가리키 곤 한다. 사용자가 로그인을 위해서 ID와 비밀번호를 입력하면 로그인 가능 여부를 결정하는 것이 인증이다. 반면 서버사이드 관점에서 봤을 때는 모든 API 요청에 대해 사용자를 확인하는 작업 이다. 2. 인증이 필요한 이유 사용자 A와 사용자 B가 웹을 사용한다고 하면 두 사용자는 기본적으로 정보가 다르고 ..
웹개발의 기본적인것들 1. 웹개발이란 무엇인가? 웹브라우저에서 작동하는 애플리케이션을 만드는게 웹개발이다. 2. 웹개발에 쓰이는 기본기술 기본기술은 HTML, 자바스크립트, CSS로 똑같다. 3. 웹의 작동방식 기본적으로 웹브라우저가 요청을 보내고 웹서버가 HTML, CSS, 자바스크립트를 반환하는 방식으로 응답한다고 보면된다. 4. 웹개발이 데스크톱, 모바일 앱 개발과 다른점은? 데스크톱앱이나 모바일 앱개발에 비해 웹개발은 더 까다로운편이다. 데스크톱이나, 모바일 개발에 서는 대체로 런타임 환경이 명확하다. 두 경우 모두 운영 체제의 종류와 버전, 사용할 언어와 기 능이 분명하다. 하지만 웹개발을 할때는 런타임 환경에 대한 통제력이 떨어진다. 왜냐하면 다양 한 브라우저의 종류와 버전이 존재하기 때문이다. 5. 일반 데스크톱..