[Web] 웹 동작 과정

2020. 10. 29. 15:46·💻 Dev/Etc

 

 

 

 

[출처]https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

 

 

 

웹의 동작 과정을 알아보기 전에 선수지식이 있다.

 

 

 

선수지식


  • 클라이언트는 사용자가 인터넷이 연결된 장치들(컴퓨터, 휴대폰)로 웹에 접근하는 브라우저(크롬, 사파리, 파이어폭스)이다.
  • 웹 서버는 웹페이지, 사이트, 또는 앱을 저장하는 프로그램을 말한다. 클라이언트에서 "http://xxx.co.kr" 주소를 요청하면, 서버에서는 페이지를 만드는 데 필요한 HTML, CSS, JS, Image 등을 가져와 정적인 페이지를 처리한다. 만약 클라이언트가 DB의 데이터가 필요한 동적 컨텐츠(예를 들어 회원정보)를 호출 시 WAS에게 요청한다. ex) Apache
  • WAS는 서버에게 동적 컨텐츠 제공을 요청받고 DB와 연동하여 데이터를 처리한 뒤 생성한 파일을 서버에게 반환해 동적 페이지를 처리한다. ex) Apache Tomcat
  • DNS(Domain Name System Servers)는 웹사이트를 위한 주소록이다. 사용자가 브라우저에 웹 주소를 입력할 때 브라우저는 DNS를 살펴보고 해당 도메인 네임에 맞는 IP주소를 찾는다.
  • HTTP(HyperText Transfer Protocol)은  클라이언트와 서버가 서로 통신할 수 있게 하기 위한 언어를 정의하는 규약이다.

 

 

웹 페이지 동작 과정


1. 사용자가 웹 브라우저를 통해 찾고 싶은 웹 페이지의 URL 주소를 입력한다.

2. 브라우저는 DNS 서버로 가서 웹사이트가 있는 서버의 진짜 주소(IP주소)를 찾는다.

3. 브라우저는 서버에게 웹사이트의 사본을 클라이언트에게 보내달라는 HTTP 요청 메시지를 서버로 전송한다.

4. 이 메시지를 받은 서버는 브라우저의 요청을 승인하고 응답 메시지를 클라이언트에게 전송한다. 그다음 서버는 웹사이트의 파일들을 데이터 패킷이라 불리는 작은 일련의 덩어리들로 브라우저에 전송하기 시작한다.

5. 브라우저는 이 데이터들을 변환해 웹사이트를 사용자에게 출력한다.

 

 

 

 

 

 

 

[참고] brunch.co.kr/@swimjiy/2

developer.mozilla.org/ko/docs/Learn/Getting_started_with_the_web/%EC%9B%B9%EC%9D%98_%EB%8F%99%EC%9E%91_%EB%B0%A9%EC%8B%9D

저작자표시 비영리 (새창열림)

'💻 Dev > Etc' 카테고리의 다른 글

aria-label을 사용한 웹 접근성 처리  (0) 2023.12.01
[JavaScript] JSP스크립틀릿 문자열과 비교 오류 Uncaught SyntaxError: Invalid or unexpected token  (1) 2020.10.14
unable to launch the java virtual machine located at path msvcr100.dll  (19) 2020.08.26
[Oracle] ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. 오류  (0) 2020.08.26
[Oracle] ORA-01950: 테이블스페이스 'USERS'에 대한 권한이 없습니다. 오류  (0) 2020.08.26
'💻 Dev/Etc' 카테고리의 다른 글
  • aria-label을 사용한 웹 접근성 처리
  • [JavaScript] JSP스크립틀릿 문자열과 비교 오류 Uncaught SyntaxError: Invalid or unexpected token
  • unable to launch the java virtual machine located at path msvcr100.dll
  • [Oracle] ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. 오류
현주먹
현주먹
끄적끄적 개발.log
  • 현주먹
    현주먹의 개발로그
    현주먹
  • 전체
    오늘
    어제
    • 전체글 (162)
      • 👶🏻 CS (15)
        • Operating System (8)
        • Database (4)
        • Data Structure (2)
        • Software Engineering (1)
      • 💻 Dev (54)
        • Java & OOP (24)
        • Spring (4)
        • JPA (5)
        • Test Code (1)
        • Database (1)
        • JSP & Servlet (13)
        • Etc (6)
      • 💡 Algorithm (25)
        • 인프런 (9)
        • 백준 (16)
      • 🛠 DevOps & Tool (11)
        • Linux (4)
        • AWS (1)
        • Git (2)
        • Etc (4)
      • 📝 끄적끄적 (57)
        • 후기 및 회고 (5)
        • TDD, 클린 코드 with Java 17기 (3)
        • F-Lab (23)
        • 🖥️ 자바의 정석 (11)
        • 📖 Clean Code (3)
        • 항해99 코테 스터디 (11)
  • 블로그 메뉴

    • 🐈‍⬛ GitHub
    • TIL
  • 인기 글

  • 태그

    개발자멘토링
    항해99
    코테스터디
    JPA
    개발자취업
    jsp
    오블완
    데브클럽
    오라클
    로또 미션
    ==와 equals()
    인프런 단어뒤집기
    자바의정석
    til
    자바의신절판
    객체지향
    PostGreSQL함수
    에프랩
    에프랩 후기
    C
    TDD 클린 코드 with Java
    백준
    99클럽
    F-Lab
    인프런 특정문자뒤집기
    f-lab 후기
    코딩테스트준비
    NextSTEP
    티스토리챌린지
    백준10250
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
현주먹
[Web] 웹 동작 과정
상단으로

티스토리툴바