일반적인 문제 브라우저가 주소를 입력하면 어떻게 되나요?

브라우저가 주소를 입력하면 어떻게 되나요?

Oct 24, 2019 pm 05:24 PM
브라우저

브라우저가 주소를 입력하면 어떻게 되나요?

브라우저에 주소를 입력하면 어떻게 되나요?

브라우저는 우리가 보통 브라우저 없이도 동영상을 보고, 정보를 확인하고, 인터넷 서핑을 하기 위한 도구이기 때문에 언제 접속했는지 알 수 있습니다. 브라우저에 있습니다. 주소 표시줄에서 Enter 키를 누른 후 브라우저는 무엇을 했나요? 오늘은 브라우저 뒤에 있는 작업을 공유하겠습니다.

1단계: 브라우저에 도메인 이름을 입력하세요

예: www.php.cn

브라우저가 주소를 입력하면 어떻게 되나요?

2단계: 브라우저가 도메인 이름의 IP 주소를 조회합니다.

브라우저는 입력된 도메인 이름을 해당 IP로 구문 분석합니다. 프로세스는 다음과 같습니다.

1. 브라우저 캐시 찾기: 브라우저는 일반적으로 일정 기간 동안 DNS 레코드를 캐시하므로 브라우저마다 시간이 다를 수 있습니다. 일반적으로 2~30분 정도 걸립니다. 브라우저는 캐시가 있으면 IP를 직접 반환하고 그렇지 않으면 다음 단계로 진행합니다.

2. 시스템 캐시 검색: 브라우저 캐시에서 IP를 찾을 수 없으면 브라우저는 로컬 호스트 파일을 검색하기 위해 시스템 호출(Windows의 경우 gethostbyname)을 수행하고, 그렇지 않으면 IP를 직접 반환합니다. 다음 단계.

3. 라우터 캐시 찾기: 1단계와 2단계의 쿼리가 실패하면 라우터에는 일반적으로 자체 DNS 캐시가 있습니다. 이전 요청을 라우터에 보내고 ISP 서비스가 있는 서버를 찾습니다. 공급자는 DNS를 캐시합니다. IP가 발견되면 직접 반환됩니다. 그렇지 않으면 검색이 계속됩니다.

4. 재귀 쿼리: 위 단계를 찾을 수 없는 경우 ISP의 DNS 서버는 재귀 쿼리를 수행합니다. 소위 재귀 쿼리는 호스트가 쿼리한 로컬 도메인 이름 서버가 IP 주소를 알 수 없음을 의미합니다. 쿼리된 도메인 이름, 로컬 도메인 이름 DNS 클라이언트로서 서버는 호스트가 자체적으로 다음 쿼리를 수행하도록 하는 대신 쿼리 요청 메시지를 다른 루트 도메인 이름 서버로 계속 보냅니다. (로컬 도메인 네임 서버 주소는 DHPC 프로토콜을 통해 얻어지며, DHPC는 IP 주소 할당을 담당합니다.)

5. 반복 쿼리: 로컬 도메인 네임 서버는 반복 쿼리를 사용하며, 먼저 루트 도메인 네임 서버에 쿼리합니다. 루트 도메인 이름 서버에 대한 로컬 도메인 이름 서버의 쿼리는 일반적으로 반복 쿼리를 사용합니다. 소위 반복 쿼리는 루트 도메인 이름 서버가 로컬 도메인 이름 서버가 보낸 쿼리 요청 메시지를 수신할 때 다음에 쿼리해야 할 도메인 이름 서버를 로컬 도메인 이름 서버에 알리고 로컬 도메인 이름을 지정하는 것을 의미합니다. 서버는 자체적으로 후속 쿼리를 수행합니다. (후속 쿼리를 위해 로컬 이름 서버를 교체하는 대신)

3단계: 브라우저는 대상 서버와 TCP 연결을 설정합니다

1. 호스트 브라우저는 DNS 확인을 통해 대상 서버의 IP 주소를 얻은 후 서버와 TCP 연결을 설정합니다.

2.TCP 3-way handshake 연결: 브라우저가 위치한 클라이언트가 서버에 연결 요청 메시지를 보냅니다(SYN 플래그는 1). 메시지를 받은 후 서버는 연결 설정에 동의하고 확인 메시지를 보냅니다. (SYN, ACK) 클라이언트에 대한 플래그 비트는 모두 1) 클라이언트가 확인 메시지를 받은 후 클라이언트와 클라이언트 간의 TCP 연결이 수신되었는지 확인하기 위해 다시 서버에 메시지를 보냅니다. 서버가 구축되고 통신이 시작됩니다.

4단계: 브라우저는 http 프로토콜을 통해 요청을 보냅니다

브라우저는 호스트에 HTTP-GET 메서드 메시지 요청을 시작합니다. 요청에는 액세스된 URL, 즉 http://www.php.cn/, KeepAlive, 긴 연결뿐만 아니라 User-Agent 사용자 브라우저 운영 체제 정보, 인코딩 등이 포함됩니다. Accept-Encoding 및 Cookies 항목을 언급할 가치가 있습니다. Accept-Encoding은 일반적으로 gzip을 사용하여 압축 후 html 파일을 전송합니다. 쿠키에 처음 액세스하면 서버에 사용자 캐시 정보를 설정하라는 메시지가 표시됩니다. 그렇지 않은 경우 쿠키의 해당 키 값을 사용하여 해당 캐시를 찾을 수 있습니다. 캐시는 사용자 이름, 비밀번호 및 일부 사용자 설정을 저장합니다. .

5단계: 일부 서비스는 영구 리디렉션 응답을 수행합니다.

여러 호스트 사이트가 있는 대규모 웹사이트의 경우 트래픽 로드 밸런싱 또는 가져오기 및 SEO 순위 향상을 위해 요청한 페이지가 직접 반환되지는 않지만 방향을 바꾸었습니다. 반환된 상태 코드는 200OK가 아니고 301,302로 시작하는 리디렉션 코드입니다. 브라우저가 리디렉션 응답을 얻은 후 응답 메시지의 Location 항목에서 리디렉션 주소를 찾고, 브라우저는 첫 번째 단계에서 다시 해당 주소에 액세스할 수 있습니다. .

리디렉션의 역할: 리디렉션은 로드 밸런싱 또는 트래픽 가져오기를 통해 SEO 순위를 높이는 데 사용됩니다. 프런트 엔드 서버를 사용하여 요청을 수락한 다음 이를 다른 호스트에 로드하면 사이트의 동시 비즈니스 처리 기능이 크게 향상될 수 있습니다. 또한 Baidu.com, www.baidu com은 여러 도메인 이름에서 하나의 사이트로 액세스를 집중할 수 있습니다. 검색 엔진에서는 두 개의 웹 사이트로 간주되며 각각에 대한 링크 수가 줄어들어 순위가 낮아집니다. 영구 리디렉션은 두 주소를 연결하고 검색 엔진은 두 주소를 동일한 웹 사이트로 간주하여 순위를 향상시킵니다. .

6단계: 브라우저가 리디렉션 주소를 추적합니다

브라우저가 리디렉션 후 최종 액세스 주소를 알게 되면 위와 동일한 내용으로 http 요청을 다시 보냅니다.

7단계: 서버가 요청을 처리합니다

서버는 get 요청을 받은 다음 처리하고 응답을 반환합니다.

8단계: 서버가 HTML 응답을 보냅니다

상태 코드 200 OK를 반환합니다. 이는 서버가 요청에 응답하고 메시지를 반환할 수 있음을 나타냅니다. 헤더의 콘텐츠 유형이 "text/html"이므로, 브라우저는 파일을 다운로드하는 대신 HTML 형식 렌더링으로 응답합니다.

9단계: TCP 연결 해제

1. 브라우저가 위치한 호스트는 연결 해제 메시지를 서버에 보낸 후 데이터 전송을 중지합니다.

2. 확인 메시지, 그리고 서버의 전송되지 않은 데이터가 전송되었습니다.

3. 서버 데이터 전송이 완료된 후 클라이언트에게 연결 해제 메시지가 전송됩니다.

4. 확인 메시지를 보낸 후 일정 시간 동안 기다립니다.

10단계: 브라우저가 페이지를 표시합니다.

브라우저가 모든 HTML 문서를 완전히 허용하지 않으면 이미 이 페이지가 표시되기 시작했습니다. 페이지. 브라우저는 반환된 데이터 패킷을 수신합니다. 브라우저에 따라 렌더링 메커니즘이 해당 데이터를 렌더링합니다. 렌더링된 데이터는 해당 페이지 렌더링 및 발자국 상호 작용을 수행합니다.

11단계: 브라우저는 일부 스타일 파일, 이미지 URL, js 파일 URL 등과 같이 HTML

에 포함된 다른 콘텐츠를 보내고 얻습니다. 브라우저는 이러한 URL을 통해 요청을 다시 보내며 요청 프로세스는 여전히 진행됩니다. HTML 읽기, 도메인 이름 쿼리, 요청 보내기, 리디렉션 등의 유사한 프로세스. 그러나 이러한 정적 파일은 브라우저에 캐시될 수 있습니다. 때때로 이러한 파일은 서버를 통하지 않고 캐시에서 직접 액세스됩니다. 일부 웹사이트는 타사 CDN을 사용하여 이러한 정적 파일을 호스팅하기도 합니다.

위 내용은 브라우저가 주소를 입력하면 어떻게 되나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

CSS를 통해 크기 조정 기호를 사용자 정의하고 배경색으로 균일하게 만드는 방법은 무엇입니까? CSS를 통해 크기 조정 기호를 사용자 정의하고 배경색으로 균일하게 만드는 방법은 무엇입니까? Apr 05, 2025 pm 02:30 PM

CSS에서 크기 조정 기호를 사용자 정의하는 방법은 배경색으로 통합됩니다. 매일 개발에서, 우리는 종종 조정과 같은 사용자 인터페이스 세부 정보를 사용자 정의 해야하는 상황을 발생시킵니다.

웹 페이지에 로컬로 설치된 'Jingnan Mai Round Body'를 올바르게 표시하는 방법은 무엇입니까? 웹 페이지에 로컬로 설치된 'Jingnan Mai Round Body'를 올바르게 표시하는 방법은 무엇입니까? Apr 05, 2025 pm 10:33 PM

최근 웹 페이지에 로컬로 설치된 글꼴 파일을 사용하여 인터넷에서 무료 글꼴을 다운로드하여 시스템에 성공적으로 설치했습니다. 지금...

플렉스 레이아웃 아래의 텍스트는 생략되지만 컨테이너가 열려 있습니까? 그것을 해결하는 방법? 플렉스 레이아웃 아래의 텍스트는 생략되지만 컨테이너가 열려 있습니까? 그것을 해결하는 방법? Apr 05, 2025 pm 11:00 PM

Flex 레이아웃 및 솔루션에서 텍스트를 과도하게 누락하여 컨테이너 개구부 문제가 사용됩니다 ...

Edge 브라우저의 특정 DIV 요소가 표시되지 않는 이유는 무엇입니까? 이 문제를 해결하는 방법? Edge 브라우저의 특정 DIV 요소가 표시되지 않는 이유는 무엇입니까? 이 문제를 해결하는 방법? Apr 05, 2025 pm 08:21 PM

사용자 에이전트 스타일 시트로 인한 디스플레이 문제를 해결하는 방법은 무엇입니까? 에지 브라우저를 사용하는 경우 프로젝트의 DIV 요소를 표시 할 수 없습니다. 확인 후 게시했습니다 ...

웹 페이지에서 로컬로 설치된 글꼴 파일을 사용하는 방법은 무엇입니까? 웹 페이지에서 로컬로 설치된 글꼴 파일을 사용하는 방법은 무엇입니까? Apr 05, 2025 pm 10:57 PM

웹 페이지에서 로컬로 설치된 글꼴 파일을 사용하는 방법 웹 페이지 개발 에서이 상황이 발생 했습니까? 컴퓨터에 글꼴을 설치했습니다 ...

Safari의 로컬 웹 페이지에서 맞춤형 스타일 시트가 적용되지만 Baidu 페이지에서는 그렇지 않은 이유는 무엇입니까? Safari의 로컬 웹 페이지에서 맞춤형 스타일 시트가 적용되지만 Baidu 페이지에서는 그렇지 않은 이유는 무엇입니까? Apr 05, 2025 pm 05:15 PM

Safari에서 사용자 정의 스타일 시트 사용에 대한 토론 오늘 우리는 Safari 브라우저에 대한 사용자 정의 스타일 시트 적용에 대한 질문에 대해 논의 할 것입니다. 프론트 엔드 초보자 ...

부정적인 마진이 어떤 경우에는 적용되지 않는 이유는 무엇입니까? 이 문제를 해결하는 방법? 부정적인 마진이 어떤 경우에는 적용되지 않는 이유는 무엇입니까? 이 문제를 해결하는 방법? Apr 05, 2025 pm 10:18 PM

어떤 경우에는 부정적인 마진이 적용되지 않는 이유는 무엇입니까? 프로그래밍 중에 CSS의 부정적인 마진 (음수 ...

JavaScript 또는 CSS를 통해 브라우저 인쇄 설정에서 페이지 상단 및 끝을 제어하는 ​​방법은 무엇입니까? JavaScript 또는 CSS를 통해 브라우저 인쇄 설정에서 페이지 상단 및 끝을 제어하는 ​​방법은 무엇입니까? Apr 05, 2025 pm 10:39 PM

브라우저의 인쇄 설정에서 페이지의 상단과 끝을 제어하기 위해 JavaScript 또는 CSS를 사용하는 방법. 브라우저의 인쇄 설정에는 디스플레이가 ...인지 제어 할 수있는 옵션이 있습니다.