2011-03-05 4 views
0

내 질문에 대한 지식이 있지만 정확하게는 아닙니다. HTTP 요청 후 정확하게 프로그램 적으로 발생하는 것은 무엇입니까? 당신은 내가 "cnn.com"입력 할 때, 어떤 브라우저에 발생 할 수있는 한 깊이로, 관련이 생각하는브라우저에서 웹 페이지로 이동하도록 지시하면 정확히 어떻게됩니까?

만큼 상세하게 설명 :

스콧 Hanselman은 자신의 블로그 게시물 중 하나에서 말했다 "이동"을 누르십시오.

는 내 질문은, 바로이 "관상 동맥 우회을 수행하는 방법에 대해 설명합니다"묻는처럼

답변

7

입니다. 네, 어떻게 설명 할 수 있지만 특정 절차로 시작하기 전에 의학에 대해 배우고 기본에 대해 배우는 것이 더 좋습니다. 그러나 bulletpoints에서 :

  1. 브라우저가 cnn.com의 IP 주소를 알고 싶어합니다. DNS lookups 자체는 아니지만 운영 체제에 묻습니다.
  2. 브라우저가
  3. 브라우저가
  4. 브라우저가 HTML
  5. 에서 구문 분석됩니다 webserverstatuscode 200 몸 내용으로 응답 할 것이다
  6. HTTP GET 요청을 보낼 포트 80에서 해당 IP 주소에 연결됩니다 HTML, 다른 자원 (이미지, 스크립트, CSS 파일 ...)이 포함될 수 있습니다. 브라우저는이를 가져옵니다.
  7. 브라우저가 완료되면 연결이 끊어집니다. 그렇지 않으면 웹 서버가 작동합니다.
+1

괜찮은 답변입니다. 그가 읽어야 할 책을 추가하면 +1을 줄 것입니다. –

+0

죄송합니다. 인터넷에 관해 읽을 책은 믿지 않습니다.RFC에 링크하고자합니다. Open University 프리젠 테이션입니다.하지만 그는 다소 모호한 초급 질문을하기 때문에 위키 피 디아가 좋은 출발점이 될 것이라고 생각합니다. TCP와 OSI에 대해 아직 이야기 할 필요가 없습니다. imho. – Konerak

+0

대답 해 주셔서 감사합니다. 나는 그 과정의 복잡성에 관해 당신에게 동의합니다. – tugberk

2

브라우저는 이름 cnn.com을 해당 IP 주소로 변환하려고 시도합니다.

브라우저 TCP는

브라우저가 연결하려고 것을 말한다/페이지에 대한 요청 (80)

브라우저가 서버에 GET 요청을 전송 기본 HTTP 포트에서 cnn.com의 IP 주소에 연결 "cnn.com"(cnn.com 및 bbc.com은 동일한 IP 주소를 사용하여 동일한 호스팅 회사에서 호스팅 될 수 있음)

브라우저는 브라우저, 브라우저 엔진, 브라우저 버전, 운영 체제 및 플러그인을 설치하십시오.

서버는 회신 내용, 수신 할 데이터 종류 (이 경우 HTML) 및 사용 가능한 경우 응답 크기를 나타내는 헤더를 보냅니다.

브라우저에서 연결 유지 명령이 없으면 서버가 연결을 닫습니다. 그렇지 않으면이 열린 연결을 사용하여 필요할 수있는 다른 것들을 요청합니다 (예 : 페이지 내의 이미지).

그런데 실제로 들어가기 위해서는 Wireshark를 다운로드하여 설치하십시오. 커튼 뒤에.

+0

wireshark는 피들러와 비슷합니까? – tugberk

+0

+1 wireshark 제안을 위해 - 네트워크 프로토콜을 리버스 엔지니어링하는 좋은 시작입니다. – Konerak

+0

@tugberk : 예, wireshark는 피들러와 비슷하지만 좀 더 광범위합니다. 발신 트래픽을 캡처합니다 (MSN에서 이야기하거나 이메일을 가져올 때도 포함됩니다). – Konerak

관련 문제