본문 바로가기

웹기술

브라우저에 URL을 입력하면 어떤 과정이 진행될까?

  • 브라우저 rendering process

1. uri를 입력하면 해당 uri에 접속한적이 있는지 자료저장소에서 찾고, 방문했다면 쿠키를 렌더링 엔진으로 저장

2. rendering engine (webkit) working process : 
- rendering engine : 요청한 URI를 기반으로 server에게 요청하고 server로 부터 URI에 해당하는 데이터 (HTML, CSS, JavaScript)를 받아서 파싱한 후 렌더링함 (Chrome webkit)

3. HTML, CSS parsing process : 브라우저가 웹페이지를 그리기 위해 필요한 파일들을 가져오는 단계

4. 렌더링 과정 : 가져온 파일 (html, css, js, 외부 리소스) 을  가지고 브라우저가 웹 페이지 렌더링

 

 

 

javascript : html 태그에서 동적인 내용이 있는 코드를 실행시켜주는 역할을 하는 프로그래밍 언어

 

 

  • 하드웨어 구성
    • CPU (Central Processing Unit)
      • Core : 각종 연산을 수행하는 핵심 요소, Thread 단위로 Core 단위에 맵핑
      • Cache memory
      • Controler
    • Memory (ROM, RAM) 
    • 연산장치
    • Control Unit
    • GPU (Graphics Processing Unit) : 그래픽 처리와 같은 단순 병렬 작업을 처리하기 쉽게 나온 연산장치
      요즘에는 그래프 처리 말고도 반복 작업을 병렬로 처리하기 위해서도 많이 사용됨

 

 

  •  소프트웨어
    • Program : 실행가능한 파일 (코드)
      • Statement : 실행 가능한 독립적인 코드 조각
        • expression : 계산하여 값을 만드는 코드
        • keeyword : 명령어
      • identifier : 값의 위치
    • OS (Operating System) : 운영체제 (하드웨어를 제어하고 응용 프로그램을 실행하는 기본 프로그램)
  • Process : Program이 OS에 의해 Memory 영역을 할당받고 실행중인 것
    • Code : PC(다음번에 실행될 명령어의 주소를 갖고 있는 레지스터, 코드 저장
    • Data : Global variables, static variables 저장
    • Heap (메모리 관리를 위한 자료구조) : Manage memory, allocates dynamic memory
    • Stack(Thread) : Process가 할당된 자원을 이용하는 실행의 단위, 임시 data (local variables, return address) 저장
      (스텍은 쓰레드를 구현해놓은 구현체)

왼쪽 : 프로그램들은 실행이 되면 프로세스에 할당됨 / 오른쪽 : 

  • 멀티 프로세스
    • OS각 각각 memory를 할당
    • Inter Process Communication 으로 프로세스 간 소통

 

 

'웹기술' 카테고리의 다른 글

나의 REST API 설계 과정  (0) 2023.07.23
직렬화와 데이터 형식 (XML, JSON, YAML)  (0) 2023.03.12
CORS  (0) 2023.03.07
API vs REST API vs HTTP API ?!  (0) 2023.03.05