basic understanding on web

moripark32·2021년 3월 17일
0

인터넷과 웹의 차이란?

웹이라는 것은 인터넷이라는 큰 포괄적인 곳에 속해있는 서비스 중 하나이다.
1960년에 핵전쟁 이후 핵의 영향을 받지 않는 통신시스템이 필요했고 그때 인터넷이 등장하며 연구소, 대학, 군대와 같은 거대한 기관에서 사용하는 통신시스템으로 자리잡는다.
그후 30년이 지나고 1990년에 웹이 등장한다. cern이라는 스위스입자 물리연구소에 소속된 팀 버너스리의 발명인 웹의 출현으로 인해 웹은 엘리트들만의 전유물이 아닌 일반인들 사이에서 전세계적으로 널리 사용된다.

웹 브라우저와 웹 서버

두대의 컴퓨터 중 하나는 웹서버를 위해 사용하고 하나는 웹 브라우저를 위해 사용한다고 가정하자.
이 두대의 컴퓨터는 인터넷으로 연결이 되어있다. 웹서버 컴퓨터의 하드디스크에 주소를 가진
Index.html 가 디렉토리에 저장되어 있다. 이제 웹 브라우저가 설치된 컴퓨터에 주소를 입력하면 서버에 저장된 index정보를 받아서 볼 수 있게 된다. 웹 브라우저가 설치된 컴퓨터는 정보를 요청하는 것이고 그에 대해 서버는 응답을 하고 있는 것이다.

Web과 HTTP이란?

  • Web이란 무엇인가?
    English Definition: The World Wide Web (“WWW” or “The Web”) is the part of the Internet that contains websites and webpages. It was invented in 1989 by Tim Berners-Lee at CERN, Geneva, Switzerland. Sir Tim Berners-Lee created a new markup language called HTML. Websites are composed of pages linked by hypertext links that are written in HTML.The software to see the World Wide Web is called a web browser. One also needs a connection to the Internet. Many companies nowadays offer limited website hosting allowing one to make websites that can be displayed on the World Wide Web like any other domain (www.stuff.com) site. These sites usually make money from advertisements instead of fees.

WWW, World wide web은 인터넷에 연결된 사용자들이 정보를 공유할 수 잇는 공간을 의미한다.
웹은 인터넷에서 인기 있는 서비스 중 하나일 뿐이다. 인터넷 상에서, 텍스트, 그림, 동영상 등과 같은 멀티미디어 정보를 하이퍼텍스트방식으로 연결하여 제공한다. 하이퍼텍스트(hypertext)는 문서 내부에 다른 문서로 연결되는 참조를 집어 넣음으로써 웹 상에 존재하는 여러 문서끼리 서로 연결되어 참조할 수 있는 기술을 의미하는데 이러한 참조를 hyperlink라고 부른다. 웹에서는 HTML이라는 언어를 사용하여 누구나 자신만의 문서를 작성할 수 있다. 또한, 이렇게 작성된 웹상의 문서에는 HTTP라는 프로토콜을 사용하면 누구나 검색하고 접근할 수 있다. 웹 페이지는 기반이 되는 html 파일로 이루어져있고, 이 파일에는 여러 reference objects들이 있다. 이러한 object는 URL로 접근이 가능하다.

  • HTTP란 무엇인가?
    English Definition: HTTP is a TCP/IP based communication protocol, that is used to deliver data (HTML files, image files, query results, etc.) on the World Wide Web.

HTTP는 hypertext tranfer protocol을 의미한다. web application protocol로, client/server 모델로 작성되어있다.이는 TCP 위에서 작동하는데 client는 tcp connection을 초기화하며, server는 tcp connection을 받아들인다. tcp connection이 만들어지고 나면, client와 server는 http message를 주고받게 된다. HTTP는 ascii코드로 작성되어, 사람도 읽을 수 있는 형태로 만들어진 stateless한 procotol로서 과거의 요청 정보를 저장하지 않고 메세지 포멧은 request와 response로 이뤄져있다. request method에는 get, put(form input, 검색처럼), post, delete(추가 삭제는 관리자) 등의 method가 있다.

DNS란 무엇인가?

-Domain Name Service. Application layer의 protocol이다. 우리는 웹브라우져 등을 이용하여, 여러 application에서 원하는 웹사이트에 접속할때 host name(domain name, domain을 알아차릴 수 있게 해주는 이름)으로 접근한다. 따라서 이러한 어플리케이션을 사용할 때, host name(Domain name)을 실제 서비스 해주는 서버의 ip주소로 매칭 해주는 것이 필요하다. 이러한 매칭을 해주는 application layer protocol이 DNS이다. 네트워크에서 해주면 되지 않을까? 네트워크에서는 단순히 forwarding만 해주고, edge에 복잡성을 넣자는 네트워크 설계 철학이 담겨져있다. 매칭을 구하기 위해, DNS 서버와 통신을 해야한다. DNS 서버는 distributed data base로, hierarchy하게 구현이 되어있다. 왜냐하면 single of failure, traffic volume, distance centalized data base, maintenace 때문이다. 고장나면 어떤 application도 동작하지 못한다.

NAT란 무엇인가?

NETWORK ADDRESS TRANSLATION의 약자로서 내부사설 IP를 사용하는 호스트가 인터넷에 접근할수있게 외부로 포워드시 출발지IP를 공인IP로 변경하여 전송하는 기술혹은 방법이다. NAT를 사용하는 목적에는 2가지가 있는데, 첫째는 인터넷의 공인 IP주소를 절약할 수 있다는 점이고 둘째는 인터넷이란 공공망과 연결되는 사용자들의 고유한 사설망을 침입자들로부터 보호할 수 있다는 점이다. 공개된 인터넷과 사설망 사이에 방화벽(Firewall)을 설치하여 외부 공격으로부터 사용자의 통신망을 보호하는 기본적인 수단으로 활용할 수 있다. 이때 외부 통신망 즉 인터넷망과 연결하는 장비인 라우터에 NAT를 설정할 경우 라우터는 자신에게 할당된 공인 IP주소만 외부로 알려지게 하고, 내부에서는 사설 IP주소만 사용하도록 하여 필요시에 이를 서로 변환시켜 준다. 따라서 외부 침입자가 공격하기 위해서는 사설망의 내부 사설 IP주소를 알아야 하기 때문에 공격이 불가능해지므로 내부 네트워크를 보호할 수 있다.

profile
front-end developer. key= "consistency"

0개의 댓글