www(w3/world wide web)
인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간을 말한다. 간단히 웹(the Web)이라 부르는 경우가 많다.
웹은 인터넷 상에서 텍스트나 그림, 소리, 영상 등과 같은 멀티미디어 정보들을 하이퍼텍스트 방식으로 연결하여 제공한다.
HyperText란 문서 내부에 또 다른 문서로 연결되는 참조를 집어 넣음으로써 웹 상에 존재하는 여러 문서끼리 서로 참조할 수 있는 기술을 의미한다. 이 때 문서 내부에서 또 다른 문서로 연결되는 참조를 hyperlink라고 부른다.
웹에서는 HTML를 이용하여 누구나 자신만의 문서를 작성할 수 있다. 또한, 이렇게 작성된 웹상의 문서에는 HTTP를 사용하면 누구나 검색하고 접근할 수 있다.
웹에서는 HTML언어를 사용하여 작성된 하이퍼텍스트 문서를 웹 페이지(web page)라고 부른다. 이러한 웹 페이지들 중에서 서로 관련된 내용으로 작성된 웹 페이지들의 집합을 웹 사이트(web site)라고 한다.
웹은 이렇게 작성된 수많은 웹 페이지들이 하이퍼링크(hyperlink)를 통해 서로 연결되어 구성된다.
사용자가 웹 페이지에 포함된 하이퍼링크를 따라 다른 웹 페이지들로 계속하여 이동하는 것을 웹 서핑(web surfing)이라고 부르며, 이때 사용자가 웹 페이지를 검색하기 위해 사용하는 프로그램을 웹 브라우저(web browser)라고 합니다.
HTTP는 서버와 클라이언트가 인터넷상에서 데이터를 주고받기 위한 프로토콜(protocol)이다.
HTTP는 stateless(무상태) protocol이다. 여기서 stateless라는 것은 데이터를 주고 받기 위한 각각의 데이터 요청이 서로 독립적이라는 것이다. 즉, 이전 데이터 요청과 다음 데이터 요청이 서로 관련이 없다는 것이다.
HTTP는 TCP/IP 통신 위에서 작동하며 기본 포트는 80번이다.
HTTP는 Server/Client 모델을 따른다.
장점
불특정 다수를 대상으로 하는 서비스에는 적합하다.
클라이언트와 서버가 계속 연결된 형태가 아니기 때문에 클라이언트와 서버 간의 최대 연결 수보다 훨씬 많은 요청과 응답을 처리할 수 있다.
단점
stateless(무상태)라는 특징을 갖고 있기 때문에 연결을 끊어버려서 클라이언트의 이전 상태를 알 수 없다.
이러한 특징 때문에 정보를 유지하기 위해서 Cookie와 같은 기술이 등장하게 되었다.
URL(Uniform Resource Locator)
네트워크 상에서 자원이 어디 있는지를 알려주기 위한 규약이다. 즉, 컴퓨터 네트워크와 검색 메커니즘에서의 위치를 지정하는, 웹 리소스에 대한 참조이다. 쉽게 말해서, 웹 페이지를 찾기위한 주소를 말한다. 흔히 웹 사이트 주소로 알고 있지만, URL은 웹 사이트 주소뿐만 아니라 컴퓨터 네트워크상의 자원을 모두 나타낼 수 있다. 그 주소에 접속하려면 해당 URL에 맞는 프로토콜을 알아야 하고, 그와 동일한 프로토콜로 접속해야 한다.
URI(Uniform Resource Identifier)
특정 리소스를 식별하는 통합 자원 식별자(Uniform Resource Identifier)이다. 웹 기술에서 사용하는 논리적 또는 물리적 리소스를 식별하는 고유한 문자열 시퀀스이다.
요청 메서드: GET, PUT, POST, PUSH, OPTIONS 등의 요청 방식이 있다.
요청 URI: 요청하는 자원의 위치를 명시한다.
HTTP 버전: 웹 브라우저가 사용하는 프로토콜 버전이다.
GET: 정보를 요청하기 위해서 사용한다. (SELECT)
POST: 정보를 밀어넣기 위해서 사용한다. (INSERT)
PUT: 정보를 업데이트하기 위해서 사용한다. (UPDATE)
DELETE: 정보를 삭제하기 위해서 사용한다. (DELETE)
HEAD: (HTTP)헤더 정보만 요청한다. 해당 자원이 존재하는지 혹은 서버에 문제가 없는지를 확인하기 위해서 사용한다.
OPTIONS: 웹서버가 지원하는 메서드의 종류를 요청한다.
TRACE: 클라이언트의 요청을 그대로 반환한다. 예컨데 echo 서비스로 서버 상태를 확인하기 위한 목적으로 주로 사용한다.