1. 程式人生 > >通過瀏覽器訪問百度的詳細過程?

通過瀏覽器訪問百度的詳細過程?

網際網路時代最主要的標誌是什麼?沒錯就是通過網路去解決人們的問題,那麼你是如果訪問網頁的呢?看似簡單的一個輸入網站,開啟網頁,他的背後走了多少流程呢?來,今天我們就一起看看,我們平時訪問度孃的全過程。

這裡以百度為例,其他網站也一樣。

一.通過dns獲取百度IP地址.

1.在192.168.1.1這個電腦上用瀏覽器器訪問www.baidu.com的過程如下:1. 當在瀏覽器器中輸www.baidu.com 後按下回⻋車鍵 之後,瀏覽器器組織⼀一個數據包

2. 這個資料包是tcp的格式的資料 ,這個資料中需要得到對⽅方的ip以及對⽅方程式的端⼝口(⼀一般情況下⽹網站的端⼝口是80)

3. 為了了能夠得到www.baidu.com對應的ip地址,因此接下來需要解析這個域名

為了了能夠解析域名,因此192.168.1.1這個電腦⾸首先需要傳送dns資料包給dns伺服器器(dns是⼀一個 專⻔門⽤用來解析域名對應的ip的協議)dns伺服器器的ip在電腦能夠上⽹網之前 其實早就已經⾃自動設定好了了(此時dns伺服器器的ip是192.168.2.1)為了了能夠傳送dns資料包,需要將資料傳送給192.168.2.1這個電腦通過檢查發現192.168.2.1這個ip和本機的ip不不在同⼀一個⽹網段,那麼會先將dns資料包傳送給預設⽹閘道器,但是如果沒有預設⽹閘道器的mac的話,需要⾸首先發送arp資料包獲取預設⽹閘道器的mac, 然後將dns資料包傳送給預設⽹閘道器(192.168.1.254),這個電腦接下來將資料轉發到互聯⽹網上
通過層層的轉發,最終這個資料包到達了了 192.168.2.254這個⽹閘道器,這個⽹閘道器將資料轉發給192.168.2.1192.168.2.1這個dns伺服器器通過解析接收的資料,將www.baidu.com對應的ip(192.168.3.1)返回給192.168.1.1這個電腦當192.168.1.1這個電腦接收到dns回過來的資料之後,就知道了了www.baidu.com對應的ip(192.168.3.1)

二.通過百度IP訪問百度伺服器,並返回資料。

接下來將tcp的資料轉發給192.168.1.254這個預設⽹閘道器 ,預設⽹閘道器將資料轉發到192.168.3.254,然後192.168.3.254將資料轉發給192.168.3.1這個

伺服器器(注意此時收到的資料是tcp的3次握⼿手的第1次),伺服器器接下來和192.168.1.1之間進⾏行行3次握⼿手(詳情看我上篇部落格。)當192.168.1.1建⽴立連線之後,就會發送真正的資料請求到192.168.3.1這個伺服器器上,然後伺服器器通過資料的查詢最終將資料返回給192.168.1.1當瀏覽器器收到之後,瀏覽器器通過渲染 最終⽤使用者看到了了這個⽹網站上的主⻚頁資訊 ,,,(當所有的資料都接收完畢之後,就是4次揮⼿手)詳情看我上篇部落格。

相關推薦

通過瀏覽器訪問詳細過程

網際網路時代最主要的標誌是什麼?沒錯就是通過網路去解決人們的問題,那麼你是如果訪問網頁的呢?看似簡單的一個輸入網站,開啟網頁,他的背後走了多少流程呢?來,今天我們就一起看看,我們平時訪問度孃的全過程。

瀏覽器訪問網頁的詳細內部過程

orm 相同 下層 tin mtp 這一 不同的 end osi 我們來看當我們在瀏覽器輸入http://www.mytest.com:81/mytest/index.html,幕後所發生的一切。 首先http是一個應用層的協議,在這個層的協議,只是一種通訊規範,也就是因為

火狐瀏覽器 不能訪問 以及訪問 csdn 登入 打不開 等待中

不能訪問百度  是一個外掛造成的,關閉即可 Disable DHE TLS uses several types of key exchange method for securely agreeing on encryption keys. Of the availab

ubuntu 搭建ftp服務器,可以通過瀏覽器訪問,filezilla上傳文件等功能

serve ecif 最新 remote vsftp protoc 新的 zone ken 搭建ftp服務器 1:首先,更新軟件源,保證源是最新的,這樣有利於下面在線通過apt-get install命令安裝ftp。 2:使用sudo apt-get install vs

python3 訪問返回壓縮格式

AR win cati ucc seam encoding python eve flat import urllib, urllib.request, urllib.parse import random import zlib import re import os,

aliyun linux下寫python flask,無法通過瀏覽器訪問公網ip

tail 操作系統 結果 出現 blog mage linux下 ubunt 服務器 出現的問題是: 寫了一個基於flask框架的輸出helloworld的.py程序,是在aliyun服務器上寫的,基於ubuntu的操作系統。 寫的代碼是這樣的: 但是在瀏覽器訪問時

Windows 下 Aria2+BaiduExporter+Chrome瀏覽器 破解雲盤

Windows 下 Aria2+BaiduExporter+Chrome瀏覽器 破解百度雲盤 準備工具: Aria2: 下載連結: https://pan.baidu.com/s/1TnRz-U5RHMcEEdbRwKlABw 提取碼: 8hmf 啟動Aria2: 雙擊執行 aria2啟動.

使用代理訪問網站 ProxyHandler python 爬蟲 入門

python 使用代理訪問百度網站 ProxyHandler 爬蟲 ''' 使用代理訪問百度網站 -ProxyHandler處理(代理伺服器) -使用代理伺服器,是爬蟲的常用手段 -獲取代理伺服器的地址: -www.xicidaili.com

小程式webview訪問,新浪,搜狐,微博,微信webview開啟淘寶,天貓,京東

一些朋友看了子恆老師微信小程式開發入門視訊後, 留言諮詢問“使用微信小程式web-view能開啟淘寶,天貓或京東嗎” 當然還有類似“怎麼用小程式webview訪問百度,新浪,搜狐,微博…” 他們覺得web-view是一個萬能的元件, 什麼東西都能往裡裝, 下面來談談… 一、 小程式

火狐瀏覽器遮蔽廣告、熱搜

1.火狐瀏覽器新增元件adblock plus 2.設定過濾規則 3.高階-編輯過濾規則,新增如下內容 baidu.com###con-ar baidu.com##.QgDbJY baidu.com##.DyOnwr baidu.com###cr-content baid

[JS]JSONP跨域訪問地圖雲端儲存API

最近在寫一個基於百度地圖API實現的某旅遊村落電子地圖,在訪問百度地圖雲端儲存平臺上的資料表時出現了跨域問題,一開始我使用ajax獲取script,程式碼如下: function showDataz(data) { console.log("收到資料");

ubuntu設定靜態ip的還能訪問外網的記錄

要做美多商城的專案,最近發現ip總變,ip一遍就要改很多配置檔案重啟一堆服務,很煩!網上查了些教程,貌似是成功了 記錄幾個注意點: 注意點1:ubuntu的網絡卡名稱要改成自己的 ifconfig名下下查到,紅框中的就是了 注意點2:interfaces是

使用阿里雲部署Web專案後無法通過瀏覽器訪問

部署時使用Django+Nginx+uwsgi的框架,部署完成後訪問網頁一直報錯無法訪問,檢查部署過程沒有問題,之後發現原因是沒有開啟阿里雲的埠 解決方法是: 1、登入阿里雲,在控制檯進入雲伺服器的例項管理 2、在部署的伺服器後面點選“更多” 3、點選“安全與配置” 4、點選“配

OKHttp框架訪問API Store

引入 compile 'com.squareup.okhttp3:okhttp:3.5.0' 新增網路訪問許可權<uses-permission android:name="android.permission.INTERNET"/>package com.zd

java程式設計師如何通過阿里、的招聘面試

1.Java語言基礎 java語法基礎java類與物件java繼承與多型面向物件高階特性異常處理多執行緒輸入與輸出IO泛型,reflection,annotation; 此類書籍中,最經典無過於這本"Thinking in java",至少多看幾遍,經典就是經典! 2.Java基本類庫 java.l

Http訪問API Store

新增網路訪問許可權 <uses-permission android:name="android.permission.INTERNET"/> package com.zdsoft.idfind0103; import android.os.Handle

1、(topK問題)海量日誌資料,提取出某日訪問次數最多的10個IP。

#include <iostream>#include <fstream>#include <string.h>#include <ctime>#include <hash_map>#include <sys/socket.h>#incl

通過瀏覽器訪問操作Oracle資料庫(附Oracle修改使用者名稱和密碼)

  以前簡單的用過Oracle資料庫,都是用控制檯,通過命令操作的,然後最近學校增加了一門新的課程,又學了一招:通過瀏覽器訪問操作Oracle資料庫。   1.開啟瀏覽器;   2.在位址列輸入“localhost:8080/apex”,回車;   3.已經進入登入頁面,輸

有一個HTTP的伺服器,通過瀏覽器訪問的時候發現打不開的頁面(80埠),怎麼去抓包分析?步驟和存在的可能原因?

原因:.可能80埠本身無法訪問或者被佔用。 網站無法開啟情況發生的原因較多,可能是由於路由或電腦導致,可能是由於伺服器問題導致。 (1)ping該網路,如果能通說明網站是沒有問題的,如果失敗則可能是網路原因,也有可能是網站問題,逐一排查;如果能開啟其他網站,

resin的配置(如何通過瀏覽器訪問釋出到resin伺服器的html檔案)

本文件不講resin的啟動和關閉,重點分享如何使用resin伺服器,通過瀏覽器訪問自己建立的html檔案。 1.檢視現有配置 開啟resin檔案下的conf資料夾,開啟其中的resin.xml,crtl+F找到下面這段程式碼:     <host id="" roo