블로그 이전했습니다. https://jeongzero.oopy.io/
웹이란 무엇인가?(1)
본문 바로가기
프로그래밍 관련/Web

웹이란 무엇인가?(1)

728x90

웹 프로그래밍을 시작하기전에 알아야 기초 개념이 있다.


어떤 공부를 하던가에 큰 개념부터 잡고 가는것이 중요하다. 사람들이 책을 볼때 목차를 중요시 여기는 것처럼 내가 어떤것을 공부하고 있는지를 알아야 한다는 말이다. 그래야 흐름을 깨닫게 되고 암기위주의 공부가 아닌 이해위주의 공부가 된다고 생각한다.



※네트워크란?

-컴퓨터와 컴퓨터를 연결해 주는 망의 개념으로 컴퓨터 네트워크의 의미로 사용된다. 자세한 내용은 네트워크 카테고리로 분류하여 설명하겠지만 간략히 말하자면 다음과 같다. 자신의 컴퓨터에서 혼자 지뢰찾기하고 카드게임하고 하면 컴퓨터가 무슨 소용이 있겠는가? 인터넷에 접속해 다른사람들과 대화도 하고 같이 롤도 하고 해야지. 이렇게 다른 사람들과 소통을 할수 있게 도와주는 구조가 바로 네트워크이다.



※인터넷이란?

-인터넷은 통신 프로토콜을 이용해 정보를 주고받는 컴퓨터 네트워크이다. 네트워크의 네트워크를 구현하여 모든 컴퓨터를 하나의 통신망 안에 연결하고자 하는 의도에서 이를 줄여 인터넷이라고 처음에 이름지어졌다.

네트워크와 머가 다르냐! 라고 말하면 나도 처음에 헷갈렸지만 다르지않다. inter-net 이다. 즉 네트워크와 네트워크를 연결해 놓은 네트워크를 뜻한다고 보면된다. 즉 인터넷이 더 큰 개념이라고 생각하면 된다.


※Web이란?

-웹이란 World Wide Web의 줄임말로 WWW라고 부르기도 한다. 정보의 그물망이라고 보면 되는데 쉽게 말하면 많은 정보가 서로 얽혀있는 무었인가라고 생각하면된다. 웹에는 수많은 웹사이트들이 있고 각각의 웹사이트는 웹 페이지라는 것으로 이루어진다. 네이버나 구글 이런것 들도 다 웹페이지다. 웹 페이지에는 글, 그림, 동영상 등 수많은 정보를 담고 있고, 마우스로 클릭하면 해당 웹 페이지로 이동하는 링크들이 있다. 이러한 링크들을 통해 각각의 웹 페이지들이 서로 연결되어 있다.

거미줄 같은 웹


웹 페이지를 점으로 찍고 링크로 서로 연결된 웹 페이지들을 선으로 이으면 다음의 그림과 같이 표현된다.

먼가 그물망 처럼 보이는데 이렇게 온라인상에 다양한 정보가 서로 연결되어 있는 것을 웹이라고 한다.


인터넷에서 제공하는 여러가지 서비스가 있는데 그 중 가장 많이 사용하는것이 바로 웹 서비스이다. 웹 서비스란 인터넷에 연결된 전 세계 컴퓨터의 모든 문서들을 연결하여 언제 어디서든지 정보 검색을 가능하게 해주는 서비스를 말한다. GUI를 사용하기 때문에 초보자도 쉽게 사용 가능하며, 다양한 컴퓨팅에서 사용가능하다.


인터넷 서비스 종류는 다음과 같이 구성되어 있다. 


웹은 HTTP 프로토콜을 기반으로 동작한다. 그럼 간단히 HTTP 프로토콜이 무엇인지 알아보자.



※HTTP란?

-Hyper Text Transfer Protocal의 약자로 하이퍼텍스트 문서를 교환하기 위하여 사용된 통신 규약이다. 즉, 웹 서버와 클라이언트 간의 통신을 하기 위한 통신 규약이라고 볼수있다. 통신을 하기 위한 하나의 규칙이라고 생각하면된다. 웹 서비스내의 모든 과정들은 이러한 규칙을 지키며 통신을 한다.

-HTTP 메시지는 HTTP 서버와 HTTP 클라이언트에 의해서 해석이 된다. 또한 HTTP는 연결 상태를 유지하지 않는 비연결성 프로토콜이다. 따라서 연결을 유지하지 않는 프로토콜이기 때문에 요청/응답 방식으로 동작한다.



그럼 이제 클라이언트와 서버가 무엇인지 설명하겠다.


난 주로 네이버 메일을 자주 확인한다. 


1. 노트북을 킨다.

2. 크롬을 누른다.

3. 네이버 사이트로 들어간다.

4. 로그인을 한다.

5. (로그인 완료)

6. 메일 확인


이러한 과정을 거친다고 가정해보자. 그럼 나는 클라이언트가 되고, 나에게 로그인을 제공해주는 네이버는 서버가 된다. 사용자가 웹서비스를 이용하기위해 제공받는 소프트웨어를 클라이언트 소프트웨어라고 한다.


그리고 클라이언트에게 서비스를 제공해주는 주체를 서버라고한다. 위의 과정을 빗대어 설명하면 네이버에 로그인을 하기위해 아이디와 비밀번호를 입력하면, 네이버는 서버에서 나의 로그인 정보를 확인하고 로그인을 시켜준다. 


    • 클라이언트 소프트웨어

    1. 웹 브라우저(익스플로우, 크롬, 파이어폭스, 웨일..등)

    • 서버 소프트웨어

    1. 아파치, 톰캣, 마이크로스프트 IIS가 대표적



※HTTP 동작 과정


아까 웹서비스의 장점인 누구나 쉽게 GUI를 사용하여 웹서비스를 이용할수 있다고 하였다. 그 과정을 예시를 들어서 설명해보겠다.

노트북을 키고 크롬을 누른뒤 주소창에 www.naver.com을 입력하면 네이버 메인 화면이 보여지는데 


  1. URL 입력 : 크롬을 누르고 www.naver.com을 입력한다.
  2. IP 주소 반환 : 사람이 알기 쉽게 www.naver.com이렇게 입력하지만 사실 해당 서버의 아이피 주소를 확인하여 판단하기 때문에 주소를 IP주소로 변환시켜주는 일을 DNS 서버가 해준다.
  3. HTML 페이지 요청 : DNS가 IP 주소로 변환 해주면 해당 IP주소로 HTML 페이지 즉 네이버 서버의 IP 주소로 네이버 메인 HTML 페이지를 요청한다.
  4. 웹 서버에서 요청 내용을 분석하고 /index.html 파일을 읽는다
  5. 웹 브라우저에게 HTML 파일 전송
  6. 웹 브라우저에서 HTML 태그 분석을 한뒤 화면을 구성해준다.
  7. 네이버 화면이 보인다.!!

다음 시간에는 클라인트 기술 및 서버 기술에 대하여 설명하고 웹 프로그래밍의 기초 설명을 마무리 하겠습니다




728x90