2016년 11월 17일 목요일

Web [Internet && www]

인터넷

  • IP 를 이용해서 컴퓨터 네트워크 연결
  • 웹은 인터넷의 한 부분으로 인터넷을 사용하는 한 방법으로 볼 수 있다. 웹은 HTTP 프로토콜을 사용하여 인터넷끼리 통신을 해준다.
Internet Enginnering TaskForce(IETF)
-> 인터넷 프로토콜 표준
Internet Coporation for Assigned Names and Numbers(ICANN)
-> Top-level 도메인 이름을 정한다.
World Wide Web Consortium(W3C) : 웹 표준

인터넷의 중요한 측면
  • subnetworks can stand on their own
  • computers can dynamically join and leave the network
  • built on open standards; anyone can create a new internet device
  • lack of centralized control (mostly)
  • everyone can use it with simple, commonly available software
UDP vs TCP
TCP static 라우팅 
UDP dynamic라우팅à 소켓 먼져 열어줘야함

IP: 컴퓨터 사이의 데이터를 보낼때 사용하는 간단한 프로토콜이다
TCP: IP 전달을 위해 multi-plexing , 보장된 메세지를 제공한다.
(Multi-plexing이란 여러 프로그램이 같은 아이피를 쓴다 그래서 입출력을 담당하는 프로세스를 하나로 묶어 버림)

WWW

Web Server: 웹페이지의 reqeust를 받는 S/W
  • Ex) Apache , IIS
Web browser: 웹서버로부터 문서를 보여줌
  • Ex) Firefox, Google Chrome , IE

Web Server

Apache

  • 정적인 데이터를 처리함
Tomcat
  • Web Application Server(WAS) 라고 불린다. 
    • WAS는 웹 서버와 웹 컨테이너의 결합으로 필요한 기능을 컨테이너안에 구현하여 다양한 역학을 수행할 수 있는 서버를 말한다.
    • 클라이언트의 요청이 있을 때 내부의 프로그램을 통해 결과를 만들고 이것을 다시 클라이언트에 전달해 주는 역할 하는 것이 웹 컨테이너이다.
  • 동적인 데이터를 처리함









만약 .jsp 파일의 요청이 있을 때 Tomcat을 거치면서 HTML 파일만 브라우저에게 보여줌









Tomcat과 Apache의 relationship






DB와 연결되어 데이터를 주고 받거나 프로그램으로 데이터 조작이 필요한 경우에는 WAS를 활용!

CGI (Common gateway Interface)
서버 프로그램에서 다른 내부의 프로그램을 불러내고, 그내부의 프로그램이 처리한 결과를 클라이언트에 다시 송신하는 방법이 필요 했는데, 이것을 실현하기 위한 서버 프로그램과 내부 프로그램과의 연계법을 정한것이 CGI이다.

  • 서버와 응용 프로그램 사이에 데이터를 주고 받기 위한 standard된 방법을 CGI라고 한다.
  • 사용자가 서버에게 web page를 통한 request가 있을때 그것이 응용프로그램에 의해 처리될 필요가 있다면 서버가 응용프로그램을 실행시키고 필요한 메시지를 받는다.
  • browser가 서버를 경유하여 DB 서버에 query를 내는 등 대화형 웹페이지를 작성할때 이용됨
  • 외부 프로그램을 실행하는 표준 방식으로 자리잡았으며 사용이 편리하다는 장점이 있지만 , 서버에서 많은 프로그램을 수행하므로 서버에 무리를 준다는 단점도 있다.
  • 대표적인 응용프로그램에는 전자게시판(BBS), 접속 카운터, 위키(백과사전)이나 블로그 시스템 등이 있습니다.

많은 시스템은 host file이라고 불리는 local cache를 유지한다.
(Window: C:\Windows\system32\drivers\etc\hosts
 Linux: /etc/hosts )


URL

일반적으로 URL은 Protocol +host +path 로 이루어짐
예로 http://www.naver.com/info/index.html을 들수있다.
Anchor : jumps to a given section of a web page
  • Anchor(#)은 특정 장소에 있는 특정 페이지를 가져오는 것
  • http://www.texpad.com/download/index.html#download
    • fetches index.html the jumps down to part of the page labeled downloads
query string : a set of parameters passed to a web program
  • http://ww.google.com/search?q=miserable+failure&start=10
    • 파라미터 q 의 값은 miserable+failure이고
    • 파라미터 start의 값은 10이다.
HTTP

Command (request요청 첫줄에 들어가는 요청 방법)
  • GET Filename : download
  • POST Filename : send a web from response
  • PUT Filename: upload
 HTTP 상태 코드

HTTP 상태코드는 브라우저가 서버에게 페이지를 request하고 response받은 상태코드이다.


MIME: 전자 우편을 위한 인터넷 표준 포맷

0 개의 댓글:

댓글 쓰기