티스토리 뷰

프로그래밍 기초/CS

웹과 HTTP

StartCoriny 2024. 1. 17. 21:43

웹 브라우저란?

 ● 인터넷 브라우저라고도 불리며, 웹 서버로부터 정보를 요청하고 받아 사용자에게 보여주는 소프트 웨어입니다.

 ● 웹 브라우저는 HTML, CSS, Js파일을 전달받아 해석하게 되는데

    정적인 페이지인 HTML,CSS,Js는 서버에 브라우저로 전송되는 그대로 표시되지만,

    동적 웹페이지는 서버로부터 데이터를 받아 브라우저가 실시간으로 내용을 생성하고 변경합니다. 

 

웹의 동작 원리

출처 : https://velog.io/@dyunge_100

①,②

사용자가 웹 브라우저의 주소창에 URL을 입력합니다. 

사용자가 입력한 URL주소 중에서 도메인 네임(Domain Name)부분을 DNS(Domain Name System)서버에서 검색합니다.

DNS 서버에서 해당 도메인 네임에 해당하는 IP주소를 찾아 사용자가 입력한 URL정보와 함게 전달합니다.

⑤,⑥

웹 페이지 URL 정보와 전달받은 IP주소는

HTTP(Hypertext Transfer Protocol)프로토콜을 사용하여 HTTP요청메세지를 생성하고

TCP(Transmission Control Protocol)프로토콜을 사용하여 HTTP메세지는해당 IP주소의 컴퓨터로 전송됩니다.

도착한 HTTP요청 메세지는 HTTP프로토콜을 사용하여 웹 페이지 URL정보로 변환됩니다.

웹 서버는 도착한 웹 페이지 URL 정보에 해당하는 데이터를 검색합니다.

⑨,⑩ 

검색된 웹 페이지는 다시 HTTP프로토콜을 사용하여 HTTP응답메시지를 생성합니다.

HTTP 응답 메시지는 HTTP프로토콜을 사용하여 웹 페이지 데이터로 변환됩니다.

변환된 웹페이지 데이터는 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 됩니다.

 

URL(Uniform Resource Locator)구조

● 인터넷상의 리소스 위치를 나타내기 위한 인터넷 상의 주소.

프로토콜

 - 서로다른 기기들 간의 데이터 교환을 원활하게 수행할 수 있도록 표준화 시켜 놓은 통신 규약

● https(HyperText Transfer Protocol Secure)

   - 웹에서 HTML로 작성된 하이퍼텍스트 문서를 전송하기 위한 표준 프로토콜(HTTP)

   - HTTPS는 HTTP의 단점을 보완하고 안전한 통신을 위해 보안을 강화시킨 버전으로 SSL/TLS의 인증, 암호화 기능을 지원

 

호스트 주소

  - 도메인 네임 또는 IP주소가 들어가는 곳 즉, 컴퓨터의 주소를 표시하는 영역

 

포트번호

  - 컴퓨터에서 실행되고 있는 수많은 프로세스들의 주소

  - 위 웹툰 주소 같은 경우에는 포트번호가 보이지 않는데 기본적으로 포트번호를 입력하지 않았을 때에는

     프로토콜이 가지고 있는 기본 포트 번호가 적용(HTTP=80, HTTPS=443 즉, 위 주소는 comic.naver.com:443)

 

계층적 파일 경로(리소스 경로)

  - 서버 프로그램내에 짜인 로직으로 가는 영역

  - 위 같은 경우는 webtoon이라는 경로 안에있는 list라는 경로라고 해석가능.

 

쿼리(query)

  - url에서 추가적인 데이터를 표현할 때 사용

  - 지정된 경로 다음에 ?를 기점으로 key=value 형태로 데이터를 표현.

  - 표현할 데이터가 많다면 key=value&key=value형태로 이어갈 수있음.

 

DNS(Domain Name System)

출처: https://www.geeksforgeeks.org/

● 문자형태의 도메인 네임을 컴퓨터가 이해할 수 있는 숫자로 된 IP주소로 매핑(Mapping)하는 시스템

● 도메인 네임(Domain Name)

    - 도메인 네임은 숫자로 된 IP주소를 사람이 이해하기 쉬운 문자 형태로 표현한 것

즉, DNS는 인터넷의 '주소록', '연락처'와 같은 역할이라고 생각하면 됨.

'프로그래밍 기초 > CS' 카테고리의 다른 글

REST API란?  (0) 2024.01.23
웹서버란?  (0) 2024.01.18
자료구조[선택정렬(Selection Sort)]  (1) 2024.01.09
[자료구조] 삽입정렬(Insertion Sort)  (0) 2024.01.09
객체지향프로그래밍(OOP)란?  (0) 2023.12.29
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함