HTML 웹 사이트가 열리는 과정

KUN·2025년 3월 27일

HTML 맛보기 URL 을 입력하고 웹사이트가 열리는 과정을 조금 더 자세하게 알아보겠습니다.

URL 입력 및 요청 과정
- EX ) 사용자가 웹 브라우저를 통해 https://naver.com 과 같은 URL 을 
입력하면 브라우저는 다음과 같은 작업을 수행하게 된다.

DNS 조회
- 입력한 도메인을 IP 주소로 변환하기 위해 DNS 서버에 조회를 보낸다.
- DNS 서버가 해당 도메인의 IP 주소를 반환한다.

HTTP/HTTPS 요청 전송
- 브라우저는 해당 IP 주소 웹 서버로 HTTP OR HTTPS 프로토콜을 사용해 요청을 보낸다.
- 요청에는 브라우저 정보, 쿠키, 캐시 정보 등이 포함된다.

이 과정을 보니, 이게 무슨 말이야.... 그래서 조금 더 알아보기로 했습니다.

DNS ?

위키 : DNS ( Wikipedia )
DNS(Domain Name System)는 우리가 친숙한 naver.com 같은 주소를 컴퓨터가 이해할 수 있는 숫자(IP 주소)로 바꿔주는 전화번호부 같은 역할을 합니다.

브라우저가 "naver.com의 IP 주소가 뭐야?" 라고 DNS 서버에게 물어봄.
DNS 서버가 "naver.com은 111.111.111.11(예시)야!" 라고 답해줌.
이제 브라우저는 네이버 서버를 찾아갈 집 주소(IP 주소) 를 알게 됨!

IF ?

DNS 가 주소를 못찾은 경우가 있을까 ?
1. 도메인 자체가 없을 경우
2. DNS 서버의 문제가 생길 경우 ( 인터넷이 끊긴 경우 포함 )
이와 같은 이유로 주소를 못찾을 수 있음!

HTTP ? HTTPS ?

HTTP

HTTP(HyperText Transfer Protocol, 하이퍼텍스트 전송 프로토콜) 은 웹에서 데이터를 주고받는 규칙(프로토콜) 이다.
쉽게 말해서, 웹 브라우저와 웹 서버가 대화하는 방식!

 사용자가 http://naver.com을 입력하면?
브라우저가 서버에게 "이 페이지 보여줘!" (HTTP 요청)
서버가 "여기 있어!" (HTTP 응답 + HTML, CSS, JS 전송)
브라우저가 받은 데이터로 웹페이지를 화면에 출력!

특징 ?

문서 ( MDN )

비연결성(Connectionless)
- 요청하고 응답하면 연결 종료 (필요할 때만 연결)

무상태성(Stateless)
- 이전 요청 기억 X (매번 새로운 요청처럼 처리) 그래서 로그인 정보 등은 쿠키, 세션을 사용해서 유지해야 함 ( 상태는 없지만, 세션은 있다. )

텍스트 기반 프로토콜
- 사람이 읽을 수 있는 텍스트 형식으로 요청/응답 주고받음
(예: GET /index.html HTTP/1.1)

보안 없음 (암호화 X)
- 중간에서 해커가 데이터를 가로채면 내용이 그대로 노출됨

HTTPS

HTTPS(HyperText Transfer Protocol Secure, 보안 하이퍼텍스트 전송 프로토콜) 은 HTTP에 보안 기능(암호화)추가한 프로토콜이다.
즉 HTTP 에서 암호화 기능이 추가 된 버전이다!
HTTPS 가 중요한 이유?

그럼 뭐가 추가되었을 까 ?
HTTPS 는 기존 방식과 동일하지만 SSL/TLS(보안 인증서) 를 사용하여 데이터를 암호화 한다.
문서 : STL/TLS

1. 사용자가 HTTPS 사이트 접속 (https://naver.com)
"이 사이트 안전한가?"

2. 서버가 SSL 인증서 전송
"내가 진짜 naver.com 서버야! (공인 인증서 첨부)"

3. 브라우저가 인증서 확인
"이 인증서 신뢰할 수 있나?" (유효성 검사)

4. 보안 연결(암호화 키) 설정
"좋아! 이제 안전하게 암호화된 데이터만 주고받자!"

5. 이후 모든 데이터 암호화됨
해커가 중간에서 데이터를 가로채도 내용을 볼 수 없음!

특징 ?

보안 강화 (SSL/TLS 암호화 사용)
데이터를 암호화(Encryption) 하여 해커가 가로채도 내용을 알 수 없음!
HTTPS = HTTP + SSL/TLS(보안 인증서 사용)

무결성 (데이터 변조 방지)
전송 중 데이터를 악의적으로 변경하는 것을 방지함!
예를 들어, 해커가 페이지 내용을 조작해 악성 코드 추가하는 것을 차단

신뢰성 (사이트 인증)
SSL 인증서를 통해 웹사이트의 신원을 검증 (가짜 사이트 피싱 방지)
"자물쇠 아이콘"이 표시되는 사이트는 신뢰할 수 있음!

SEO(검색 엔진) 우대
Google, 네이버 등 검색엔진은 HTTPS 사이트를 더 높은 순위로 배치
즉, SEO(검색 최적화) 측면에서도 필수!

브라우저에서 HTTP 경고
HTTPS가 아닌 사이트(HTTP)는 "안전하지 않음" 경고 표시
특히 로그인, 결제 페이지에서 HTTP 사용 시 강력한 경고

443번 포트 사용
HTTP는 80번 포트 사용
HTTPS는 443번 포트를 사용하여 암호화된 통신 진행

요즘에 브라우저는 HTTP 사이트에 들어가려고 하면 안전하지 않음 경고가 뜨는 것도 이제 알았다...

새롭게 알게 된 사실
1. DNS 가 도메인을 받으면 -> IP 주소를 찾아주고 반환한다!
2. HTTP 를 접속하려고 하면 Chrome 에서는 경고 메세지가 뜬다.
3. HTTPS 사이트를 보면 자물쇠 표시가 있다.
4. 되도록이면 HTTP 사이트는 가지 않도록 주의하자.

profile
배우노라, 실험하노라, 기록하노라

0개의 댓글