• Home
  • About
    • PI photo

      PI

      Beginner's Blog

    • Learn More
    • Github
  • Posts
    • All Posts
    • All Tags
    • All Categories
  • Projects

[WEB] 웹 개요

📆 Created: 2024.10.17 Thu

Reading time ~3 minutes

목차

  1. 웹(Web)이란?
  2. 웹 서버(Web Server)란?
    1. APM이란?
    2. 웹서버 동작
    3. URL VS URI
    4. URL
    5. URI
    6. URL과 www.naver.com과는 너무 다르다~
    7. Web Root
    8. index.html
  3. 참고

1. 웹(Web)이란?

월드 와이드 웹(WWW, World Wide Web):
인터넷에 연결된 사용자들이 서로의 정보를 공유할 수 있는 공간으로, 인터넷 상의 인기 있는 하나의 서비스이다.
즉, 웹(Web) ⊂ 인터넷(Internet)이다.

2. 웹 서버(Web Server)란?

하드웨어적 서버에 접속한 사용자에게 웹 서비스를 제공하기 위하여 사용되는 소프트웨어 서버의 한 종류.

2.1. APM이란?

웹 서비스를 구현하기 위해서는 웹서버, WAS, 데이터베이스가 필요하다.
APM: 주로 쓰였던 조합인 Apache, Php, MySql의 앞 글자를 따서 APM이라 부른다.

  1. Apache

    오픈 소스 HTTP 웹 서버 프로그램으로 정적인 데이터를 처리하는 웹 서버이다.

    2024 글로벌 웹 서버 시장 점유율

  2. PHP
    웹 서버상에서 쓰는 언어로, 일반 HTML + CSS + JS로는 DB 접속 구현 못해서 쓰는 언어다.

  3. MySQL 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)으로 행과 열로 구성된 테이블에 데이터를 저장한다.
    SQL(쿼리 언어)를 사용하여 데이터를 정의, 조작, 제어, 쿼리할 수 있다.

2.2. 웹서버 동작

어떻게 웹 서버에 파일을 달라고 하는 것일까?

2.2.1. URL(Uniform Resource Locator) VS URI(Uniform Resource Identifier)

2.2.1.1. URL(Uniform Resource Locator)

웹에서 주어진 고유 리소스 주소로 웹 서버로 자료를 요청하는 링크이다.
URL = 식별자 + 위치
URL 표현방법: scheme://<user>:<password>@<host>:<port>/<url-path>
HTTP URL의 scheme:
http://<host>:<port>/<path>?<searchpart>
= [프로토콜]://[도메인 주소] or [IP 주소]:[포트 번호]/[파일 경로]

2.2.1.2. URI(Uniform Resource Identifier)

인터넷에 있는 자원을 나타내는 유일한 주소이다.
URI = 식별자 URI ⊃ URL, URN
URI 표현방법:
scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]

2.2.1.3. URL과 www.naver.com과는 너무 다르다~

https://www.naver.com/ -> 포트 번호가 왜 없냐?
포트(Port)란?
TCP나 UDP 에서 어플리케이션이 상호구분을 위해서 사용하는 번호이다. IP 내에서 프로세스 구분을 하기 위해서 사용한다. 쉽게말하면, 각 프로토콜의 데이터가 통하는 논리적 통로이다.
Well Known Port

FTP 20, 21 (TCP)
SSH 22 (TCP)
텔넷 23 (TCP)
SMTP 25 (TCP)
DNS 53 (TCP/UDP)
DHCP 67 (UDP)
HTTP 80 (TCP)
HTTPS 443 (TCP)

http, https의 경우 포트 번호 생략이 가능하다(Common Port의 경우 생략 가능하다).

하지만 포트 번호의 경우 강제성이 없기 때문에 다른 포트로도 이용할 수는 있다. 그럴 경우 꼭 포트 번호를 명시해야 한다.

  • NAT(Network Address Translation: IP 패킷에 있는 출발지 및 목적지의 IP 주소와 TCP/UDP 포트 숫자 등을 바꿔 재기록하면서 네트워크 트래픽을 주고 받게 하는 기술이다. 현재 32비트 형식으로 사용 가능한 IP 주소 수는 늘어나는 인터넷 액세스 요청을 충족시키기에 부족하다. -> NAT 기술을 이용하면 하나의 공인 IP 주소를 사용해 여러 대의 호스트가 인터넷에 접속할 수 있다.

2.2.2. Web Root

프로토콜 http
ip 주소 192.168.100.100
포트 번호 80

웹서버 파일 구조는 밑과 같을 때

  1. Web Basic 안에서 웹서버를 실행했을 경우 (Root File이 Web Basic) c.txt 파일 열기 위해서 url을 어케 입력해야 할까?
    -> http://192.168.100.100:80/c.txt
  2. dir 안에서 웹서버를 실행했을 경우 (Root File이 Web Basic/dir) c.txt 파일 열기 위해서 url을 어케 입력해야 할까?
    -> http://192.168.100.100:80/../c.txt (X) -> root 위로는 못 올라간다라 옹…

결론: 그러면 web root 경로를 좀 더 상위 폴더로 변경할 수 있다면 접속할 수 있는 부분이 많겠네? web root 경로가 무척 중요하다

2.2.3. index.html

웹 브라우저가 자신의 컴퓨터에 설치되어 있는 웹 서버에 접속해서 “index.html 파일을 줘”라고 얘기하는 것이다.
그럼 웹 서버는 htdocs라는 디렉토리에서 파일을 찾도록 설정이 기본적으로 되어 있는 상태이다.
웹 서버는 설정이 되어 있는대로 htdocs라는 폴더에서 index.html이라는 파일을 읽어서 그 파일을 웹 브라우저에게 전송해주면 웹 브라우저는 그것을 해석해서 화면에 표시해주게 된다 디렉토리별로 index 파일이 적용된다

기본적으로 index.html을 제공한다. 그렇다면 index 파일이 없다면??
404 Not Found를 볼 줄 알았는데 예상 외다.

참고

  • 웹이란?
  • 웹 서버와 WAS의 차이를 쉽게 알아보자
  • APM: Apache, PHP, MySQL의 역할과 상호작용 이해하기
  • 아파치 HTTP 서버
  • APM(Apache, Php, MySql)란?
  • MySQL이란 무엇인가요?
  • URI와 URL, 어떤 차이점이 있나요?
  • URL이란?
  • URL
  • 포트
  • 포트 번호 (PORT NUMBER)
  • 포트(PORT)란?
  • 포트(Port) 개념 정리 및 종류
  • NAT(Network Address Translation) 정보
  • NAT(Network Address Translation) - 네트워크 주소 변환
  • (생활코딩) 웹서버와 http


WEB Share Tweet +1
/#disqus_thread