Keep going

HTTP / 브라우저 본문

Web Project/웹 프로그래밍 기초

HTTP / 브라우저

코딩천재홍 2021. 1. 13. 23:09

Protocol이란?

프로토콜이란 규칙이라고 생각하면 됩니다.

우리 인간의 일상생활에도 정해진 규칙이 있듯이, 모든 프로그램도 정해진 규칙에 맞춰 개발했기 때문에 서로 정보를 교환할 수 있게 된 것입니다.

 

◈ HTTP란?

HTTP는 Hyper Text Transfer Protocol의 두문자어로, 인터넷상에서 데이터를 주고받기 위한 프로토콜입니다. 

HTTP는 서버/ 클라이언트의 모델을 따릅니다.

클라이언트가 서버한테 요청을 보내고 이 요청을 받아서 서버가 클라이언트에게 응답을 보내는 방식입니다. 

 

HTTP는 또한 무상태 프로토콜입니다. 

무상태 프로토콜은 서버가 클라이언트에게 받은 요청에 대한 응답을 하고 나서 바로 클라이언트와의 연결을 끊는 것입니다.

 

무상태 프로토콜의 장단점

- 장점 : 불특정 다수를 대상으로 하는 서비스에 적합하다.

- 단점 : 그냥 연결을 끊어 버리기 때문에 클라이언트가 이전에 뭐 했는지 알 수가 없다.

 

◈ URL(Unifrom Resource Locator)이란?

인터넷 상의 자원의 위치를 나타내기 위해 사용

특정 웹 서버의 특정 파일에 접근하기 위한 경로 혹은 주소

 

URL은 크게 세 부분으로 나뉜다

1번째 부분 : 프로토콜의 종류

2번째 부분 : 자원이 있는 서버의 ip주소 혹은 도메인 주소, 포트 번호

3번째 부분 : 자원의 위치

 

ip주소 - 물리적인 서버를 찾기 위해 필요함(집 주소)

포트 - 물리적인 컴퓨터를 찾은 후에, 해당 컴퓨터 안에서 등장하는 소프트웨어 서버를 찾기 위해 필요함 (방)

→ 하나의 물리적 컴퓨터에는 여러 개의 소프트웨어 서버가 동작할 수 있는데 이 서버는 포트 값이 다르게 동작해야 된다. 

 

◈ HTTP 요청과 응답

 

 

◈ 브라우저란? 

브라우저란 웹 서버에서 이동하며 쌍방향으로 통신하고 HTML 문서나 파일을 출력하는 그래픽 사용자 인터페이스 기반의 응용 소프트웨어이다.  

 

◈ 브라우저의 기본 구조

  1. 사용자 인터페이스 - 주소 표시줄, 이전/다음 버튼, 북마크 메뉴 등. 요청한 페이지를 보여주는 창을 제외한 나머지 모든 부분이다.
  2. 브라우저 엔진 - 사용자 인터페이스와 렌더링 엔진 사이의 동작을 제어.
  3. 렌더링 엔진 - 요청한 콘텐츠를 표시. 예를 들어 HTML을 요청하면 HTML과 CSS를 파싱하여 화면에 표시함.
  4. 통신 - HTTP 요청과 같은 네트워크 호출에 사용됨. 이것은 플랫폼 독립적인 인터페이스이고 각 플랫폼 하부에서 실행됨.
  5. UI 백엔드 - 콤보 박스와 창 같은 기본적인 장치를 그림. 플랫폼에서 명시하지 않은 일반적인 인터페이스로서, OS 사용자 인터페이스 체계를 사용.
  6. 자바스크립트 해석기 - 자바스크립트 코드를 해석하고 실행.
  7. 자료 저장소 - 이 부분은 자료를 저장하는 계층이다. 쿠키를 저장하는 것과 같이 모든 종류의 자원을 하드 디스크에 저장할 필요가 있다. HTML5 명세에는 브라우저가 지원하는 '웹 데이터 베이스'가 정의되어 있다.

 

Comments