http和www服務基礎知識

来源:http://www.cnblogs.com/caicairui/archive/2017/06/07/6958662.html
-Advertisement-
Play Games

一.http www埠: http協議www服務的預設埠是:80 加密的www服務,http預設埠:443(網銀,支付的時候) 二.用戶訪問網站基本流程: 第一步:客戶端用戶從瀏覽器輸入www.baidu.com網站網址後回車,系統會查詢本地host文件及DNS 緩存信息,查找是否存在網址對應 ...


一.http www埠:

http協議www服務的預設埠是:80

加密的www服務,http預設埠:443(網銀,支付的時候)

 

二.用戶訪問網站基本流程:

第一步:客戶端用戶從瀏覽器輸入www.baidu.com網站網址後回車,系統會查詢本地host文件及DNS 緩存信息,查找是否存在網址對應的IP解析記錄。如果有就直接獲取到IP地址,然後訪問網站,一般第一次請求時,DNS緩存是沒有解析記錄的。

 

第二步:如果客戶端沒有DNS緩存或者hosts沒有對應的www.baidu.com網站網址的功能變數名稱解析記錄,那麼,系統會把瀏覽器的解析請求,交給客戶端本地設置的DNS伺服器地址解析(此DNSLDNS,即local dns),如果LNDS伺服器的本地緩存有對應的解析記錄,就會直接返回IP地址;如果沒有,LDNS會負責繼續請求其他的DNS伺服器。

 

第三步:LDNS會從DNS系統的“.”根開始請求www.baidu.com功能變數名稱解析,經過一系列的查找各個層次DNS伺服器,最終會查找到wwwl.baidu.com功能變數名稱對應的授權DNS伺服器,而這個授權DNS伺服器,正是企業購買功能變數名稱時用於管理功能變數名稱解析的伺服器。這個伺服器有www.baidu.com對應的IP解析記錄,如果此時都沒有,就表示企業的運維人員沒有給www.baidu.com功能變數名稱做解析。

 

第四步:www.baidu.com功能變數名稱對應的授權DNS伺服器會把www.baidu.com對應的最終IP解析記錄發給LDNS

 

第五步:LDNS把收到來自授權DNS伺服器關於www.baidu.com對應的IP解析記錄發給客戶端瀏覽器,並且在LDNS本地把功能變數名稱和IP對應解析緩存起來,以便下一次更快返回相同的解析請求的記錄

 

第六步:客戶端瀏覽器獲取到了www.baidu.com的對應IP地址,接下來瀏覽器會請求獲得IP地址對應的web伺服器,web伺服器接收到客戶的請求並響應處理,將客戶請求的內容返回給客戶端瀏覽器

 

 

三.動態網頁、靜態網頁、偽靜態網頁

1)靜態網頁

  在網頁的設計中,純粹HTML格式的網頁通常被稱為“靜態網頁”。早期的網站一般都是由靜態網頁製作的。靜態網頁相對於動態網頁而言的,是指沒有後臺的資料庫,不含數據和可交互的網。

  特點:你編的是什麼,它就顯示什麼,一旦編寫完成,就不會有任何改變。靜態網頁的維護和更新相對比較麻煩,每個不同的網頁都需要單獨更新,一般使用於更新較少的宣傳型網站。是早期2001年以前多數中小網站展示的形式。

A.靜態網頁每個頁面都有一個固定的URL,且網頁URL一般是以.htm/.html/.shtml等常見形式為尾碼,而且地址中不含有問號

B.網頁內容一經發佈到網站伺服器上,無論是否有用戶訪問,每個靜態網頁內容都能保存在網站伺服器文件系統之上,也就是說,靜態網頁是實實在在保存在伺服器上的文件,每個網頁都是獨立的文件。

C.靜態網頁想對穩定,因此,容易被搜索引擎收錄(優點,seo

D.靜態網頁沒有資料庫的支持,在網站製作和維護方面工作量大,因此,當網站信息量很大時完全依靠靜態網頁製作的方式比較困難(缺點)

E.靜態網站的交互性較差,在功能方面有巨大的限制(缺點)

F.網頁程式在用戶瀏覽器端解析,如IE瀏覽器,這樣程式解析效率更高,由於服務端不進行解析,因此可以接受更多的併發訪問。當客戶端向伺服器請求數據時,伺服器直接把數據返回(不做任何解析),當客戶端拿到數據後,在瀏覽器端解析展示出來(優點)

重點:

1.客戶端瀏覽器端解析程式,效率很高

2.擴展名格式html/shtml/jpg/wmv格式

3.後端沒有資料庫,沒有和用戶交互

 

2)動態網頁

  與靜態網頁相對的,也就是說,網頁URL的尾碼不是.html/.htm/shtml/.xml等靜態網頁的常見的尾碼擴展名形式。而是以.asp/.aspx/.php/.jsp/do/cgi/perl等形式為尾碼,並且一般在動態網頁網址中經常會有標誌性符號--”?&

特點:

A.動態網頁一般以資料庫技術為基礎,可以大大降低網站維護的工作量

B.採用動態網頁技術的網站可以實現更多的功能,如用戶註冊、用戶登錄、線上調查、投票、用戶管理、訂單管理、發微博等等

C.動態網頁大都並不是獨立存在於伺服器上的網頁文件、只有當用戶請求時伺服器才返回一個完整的頁面

D.動態網頁中的“?”對搜索引擎的收錄存在一定的問題,搜索引擎一般不可能從一個網站的資料庫中訪問全部網頁,或者出於技術方面的考慮,搜索蜘蛛一般不會去抓網址中的“?”後面的內容,因此採用動態網頁的網站在進行搜索引擎推廣時需要做一定的技術處理(偽靜態)才能適應搜索引擎的抓去的要求

E.程式在服務端解析,服務端:php引擎,java容器

F.由於程式在服務端解析,因此,會消耗大量的CPU和記憶體資源等等,因此,效率不如靜態網頁

總結:

1.程式在服務端解析,因此,會消耗大量資源。因此,效率不如靜態網頁

2.URL尾碼一般為asp/aspx/php/jsp/do/cgi/perl

3.架構優化:效率差,開發低,經可能轉換為靜態網頁提供服務

 

3)偽靜態網頁(最重要)

  把動態偽裝為靜態。由於搜索引擎無法正確讀取帶參數的動態網頁內容,造成網頁中很多具有豐富信息的頁面無法給搜索引擎收錄,使用偽靜態的主要目的便於搜索引擎收錄和提升用戶體驗。動態偽裝成靜態並不是提高網站的性能,相反會降低網站的性能。現在很多大型的網站都會採用動態網頁生成靜態網頁的技術,消除動態網頁中的參數,使搜索引擎收錄更多的內容,達到優化網站的效果,生成靜態網頁確實很好的解決搜索引擎收錄的問題,並且可以提升網站的訪問性能。

總結:

1.動態網頁偽裝為靜態網頁

2.目的:便於搜索引擎收錄,提升用戶訪問以及用戶體驗

3.由於僅僅是偽裝,實際上還是動態,性能沒有提升,反而下降

4.儘可能轉化為真正的靜態界面,除非併發量不是很大,用rewrite實現偽裝態

 

 

四.web架構優化方案

 

  由於靜態程式在客戶端解析,大大降低了伺服器的壓力,因此解析效率更高。在實際高併發網站架構中,我們可以考慮把用戶請求的數據解析後存為靜態文件放在硬碟中或存放在記憶體中,來降低動態伺服器的壓力,從而提升用戶體驗。有關高併發網站架構從動態轉靜態的內容可以參考百度

 

  高併發網站架構從動態轉靜態的例子:

 

1.門戶新聞業務(一旦發佈完成,幾乎不需要改動)

 

對於新聞的業務靜態轉化相對簡單,由編輯人員發佈新聞,就可以生成靜態文件,然後把靜態內容同步到全國所有伺服器借點上,再對用戶提供訪問

 

2.視頻業務(一旦上傳發佈完成,幾乎不用改動)

 

優酷視頻網站,用戶上傳視頻,需要經過審核-轉碼的過程,大概需要1-2個小時,審核-轉碼-推送。

 

 

五.IPPVUV

 

1)IP-internet Protocol:

 

IP(獨立IP),即Internet protocol,指獨立IP數。不同IP地址的電腦訪問網路的總次數,是網站流量分析的一個重要指標。0000-2400內相同IP地址被計算一次。獨立IP數不標準,只是大概的數據。

 

 

 

2)PV-Page View

 

PV訪問量:即page view,中文翻譯即頁面瀏覽,即頁面瀏覽量或點擊量,用戶每次刷新即被計算一次。PV的具體量度方法就是從瀏覽器發出一個對網路web伺服器的請求(Request),網路伺服器接到這個請求後,會將該請求對應的一個網頁(page)發送給瀏覽器,從而產生一個PV。那麼在這裡只要是打開這個請求發送給了瀏覽器,無論是這個頁面是否完全打開(下載完成),那麼都是應該記為1PV,但是防止用戶刷PV,很多網站把PV的統計程式放在頁面的最下麵。PV反映的是瀏覽某網站的頁面數,所以每刷新一次也算一次。就是說PV與來訪者的數量成正比,但PV並不是頁面的來訪者數量,而是網站被訪問頁面數量。

 

 

 

3)UV-Unique Visitor

 

UV(獨立訪客):訪問網站的一臺電腦客戶端為一個訪客。0000-2400內相同的客戶端只被計算一次。UV度量:1.網站伺服器分辨 2.cookie分辨

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前段時間擼代碼猥瑣發育的時候,設計師老王給了張截圖某寶APP上一個生成長圖分享的功能,正好公司有這個需求,於是在立馬開始操練起來!在萬能的度娘上搜集整理資料後發現很多文章介紹的方案對WKWebView不適用,iOS8.0後的系統基本使用WKWebView載入H5,生成截圖是往往後面一段很大的空白,這 ...
  • 1.安裝adb offline解決辦法: 原因就是android 4.2以上的版本過高,sdk的adb驅動不匹配,需要升級。我原本的adb是1.0.29,升級為1.0.31,問題就解決了。 2.安裝sdk 3.啟動monitor.bat 4.會輸出所有log 5.建立過濾器filter logcat ...
  • 又是一年的WWDC,激情過後還是該總結一下本次開發者大會的主要關註點。本次的開發者大會幾乎涵蓋了Apple的所有產品,包括軟體及硬體的更新,相比去年同期的開發者大會而言已然展示了Apple極大的誠意了。 接下來我們就來看看WWDC2017都發生了些什麼。整個大會分成6個Part: Part1帶來的是 ...
  • 1.什麼是APK APK,即Android Package,Android安裝包。不同平臺的安裝文件格式都不同,類似於Windows的安裝包是二進位的exe格式,Mac的安裝包是dmg格式。APK可以再Android上執行安裝,APK的本質是一個Zip壓縮包,只是尾碼被修改為apk,其中打包了源代碼 ...
  • 代碼: -(void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; //移除通知 [[NSNotificationCenter defaultCenter] removeObserver:self nam ...
  • 磁碟配額 1 啟用磁碟配額 首先創建新的分區 /dev/sd5,並創建文件系統。 [root@local ~]# mkfs.ext4 /dev/sda5 由於xfs 不磁碟配額能成功,這裡使用ext4. 然後把/dev/sda5分區掛載到 /home [root@local ~]# mount /d ...
  • 不同的Linux之間copy文件常用有3種方法: 第一種就是ftp,也就是其中一臺Linux安裝ftpServer,這樣可以另外一臺使用ftp的client程式來進行文件的copy。 第二種方法就是採用samba服務,類似Windows文件copy 的方式來操作,比較簡潔方便。 第三種就是利用scp ...
  • 問題: 只記得上面8個問題。 第一個問題很簡單吧,肯定是參數 -i 啦 第二個問題也很簡單,404表示請求資源不存在,403表示服務端收到請求,但是拒絕提供服務,503表示服務端當前不能處理客戶端的請求,一段時間後可能恢復正常。 第三個問題也很簡單,要回到首行,按小寫的 “gg”,要回到未行,按 " ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...