이 글은 http 요청을 시작하기 위해 브라우저에 URL을 입력하는 구체적인 과정을 소개한 것입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다. 당신에게.
사용자가 URL을 입력합니다
사용자가 URL을 입력하면 운영 체제는 입력 이벤트를 브라우저는 프로세스 중에 일부 전처리를 수행할 수 있습니다. 예를 들어 Chrome은 기록 통계를 기반으로 입력된 문자에 해당하는 웹사이트를 추정합니다. 예를 들어 goog를 입력하면 90%가 있는 것으로 확인됩니다. 이전 기록을 기반으로 "www.google.com"을 방문할 확률이 높으므로 Enter를 누르기 직전에 TCP 연결이 설정되고 렌더링됩니다.
그런 다음 URL을 입력하고 Enter를 클릭합니다. 이때 브라우저는 먼저 프로토콜을 확인하고 웹에 따라 처리합니다.
보안 확인이 완료된 후 브라우저 커널은 먼저 캐시를 확인한 다음 UA 및 기타 HTTP 정보를 설정한 다음 다른 플랫폼에서 네트워크 요청 방법을 호출합니다. .
참고:
브라우저와 브라우저 코어는 다른 개념입니다. 브라우저 코어는 Blink, Gecko, 브라우저 커널입니다. 렌더링만 담당하고 GUI, 네트워크 연결 등 크로스 플랫폼 작업은 브라우저에서 구현합니다. #Send data through Socket
DNS, English 는 Domain Name System, 중국어는 Domain Name System이라고 하며 인터넷의 서비스로 도메인 이름과 IP 주소를 결합한 것입니다. 서로 매핑되는 분산 데이터베이스
# 🎜🎜#
com은 LDNS에게 알려주는데, www.google.com에 해당하는 IP는 모르지만, google.com 도메인의 인증서버에 문의하면 됩니다. 그
LDNS는 google.com의 인증 서버에 www.google.com#에 해당하는 IP 주소를 요청합니다. 🎜🎜#
도메인 이름 쿼리가 CDN 스케줄러를 통과했을 수 있습니다(CDN 저장 기능이 있는 경우).
IP 주소를 사용하면 소켓 API를 통해 데이터를 보낼 수 있습니다. 이때 TCP 또는 UDP 프로토콜을 선택할 수 있습니다.
TCP는 연결 지향 전송 계층 프로토콜입니다. 이는 양쪽 끝(송신 측과 수신 측)의 통신 호스트 간의 통신이 도달 가능함을 보장할 수 있습니다. 전송 중 패킷 손실 및 무질서한 전송과 같은 비정상적인 상황을 처리할 수 있으며, 또한 광대역을 효과적으로 활용하여 네트워크 혼잡을 완화할 수 있습니다.
첫 번째 핸드셰이크는 연결 설정을 요청하고 보낸 사람은 연결 요청 메시지를 보냅니다. # 🎜🎜#두 번째 Handshake에서는 수신 측이 송신 측으로부터 메시지를 받고 이제 송신 측이 연결을 설정하려고 한다는 것을 알게 됩니다. 그런 다음 수신 측에서는 3번째 핸드셰이크를 보냅니다. 송신 측에서는 보낸 메시지를 받은 후 반환된 내용이 올바른지 확인해야 합니다. send 클라이언트가 확인 패킷을 다시 보냅니다
참고
브라우저에는 동일한 도메인 이름에 대한 연결 수에 제한이 있으며 대부분은 6개입니다. http1.0에서는 하나의 리소스 다운로드가 하나의 TCP/IP 요청에 대응해야 하는 경우가 많지만 HTTP 2.0 프로토콜은 하나의 TCP 연결만 사용하지만 성능이 더 좋고 요청 우선순위도 달성할 수 있습니다.
위 내용은 브라우저에 URL을 입력하고 http 요청을 시작하는 구체적인 프로세스를 소개합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!