文章專區

網頁程式技術探討

   本站在先前的文章"DNS是什麼?"、"DNS基本資訊"中介紹過,在架設專屬的網站時,須要透過DNS網域名稱系統來進行網域名稱和網站地址及內容與電郵的設定,因此DNS資訊在網站架設環節中佔了十分重要的地位,也因為DNS有著對網站運作的舉足輕重性,所以DNS的安全性也成為了網路有心人士作為利用與攻擊的目標,本次將要分享的資訊便是近期"全球網域名稱管理機構(ICANN)"大為推管部署的 DNSSEC (網域名稱系統安全擴充)協定。     DNSSEC (Domain Name System Security Extensions 網域名稱系統安全擴充)協定,主要的設計目與原理是在原有的DNS資訊中,加入數位簽章的機制,網站連線發送端透過簽章所產生的加密金鑰來保障傳遞訊息的正確性,在接收端收到傳遞的訊息時,需要經由解析器來驗證還原資訊的完整性,進而確認了收發端雙方的資訊傳遞安全性,所以可以杜絕有心人士竄改DNS紀錄或冒用DNS紀錄發送錯誤資訊的風險,因此經由DNSSEC協定的技術,便能保障強化DNS的安全性。     由於 DNSSEC 運用的是"非對稱式密碼演算法",對於資料的加解密作業將耗費更多的DNS主機資源,所以在原有的DNS系統上仍有許多瓶頸必須克服,因此尚未完全佈署,不過毋庸質疑的是 DNSSEC 協定技術能夠有效保障網站 DNS 的安全性,也受到各領域的支持,全球網域名稱管理機構(ICANN)也致力推廣,未來 DNSSEC 協定勢必將會普及,相信也將會帶領網站安全機制更邁向成功的一步。
   先前本站介紹了"代理/Proxy快取伺服器"技術,其中簡單的說明了代理快取伺服器的技術中大致分類為"正向代理(Proxy)快取"與"反向代理(Reverse Proxy)快取"兩種快取技術,而在先前的介紹中有提到了現行較為主流的反向代理技術逐漸取代了正向代理技術,主要原因就是反向代理技術由網站方加設,便能提供大眾使用者的便利,而其所主要應用的技術為 "內容傳遞網路-CDN(Content delivery network)"。     內容傳遞網路 - CDN (Content delivery network),是一種在網路上的快取/暫存機制,主要由網站端進行設置;原本的連線模式為使用者直接對存放網站內容伺服器進行讀取,看似為正常的動作,但若是遇到網站伺服器存放在不同地區或是其他國境,使用者連線時將面臨多次網路中的橋接與交換,就會有網路壅塞與延遲和浪費流量的問題產生;因此 CDN 技術透過設置多台快取/暫存伺服器分散駐點在各國家與地區,將原本存放網站內容伺服器的靜態畫面資訊進行壓縮與暫存在各地的伺服器上,再根據使用者所連線的地區距離進行優先配對連線,進而達到短程高速且不浪費流量的快取/暫存連線技術。     由 CDN 技術的加入,各地快取/暫存的伺服器分散、減少了原本單一主機重複多次的讀取流量,也因為預先壓縮暫存,所以主要的網站伺服器短暫的當機,也不至於所有的用戶都不能連線,再加上多台快取伺服器分散各地,如同防護牆一般保護著原本存放網站內容的伺服器不至於遭駭客直接性的攻擊,是項保障使用者與站方的雙向友善性技術。  
  先前透過快取我們瞭解了許多加速網站的方法,如:"初識網站快取加速"、"代理/Proxy快取伺服器"、"瀏覽器快取/緩存技術-HTTP Cache"。本次希望介紹更進階的技術分享給大家,透過Google與中華電信的 DNS 主機IP 進行快取來加速網站讀取。由先前文章"DNS是什麼?"中我們能瞭解" DNS 網域名稱系統"是透過全球連線伺服器不斷的在進行擴散式的同步更新連線資訊的,因此在系統更新連線之前,便是使用快取緩存技術來確保原有的網站資訊來維持用戶的連線。     這邊提到Google與中華電信的 DNS 主機IP 與快取又有何關係呢?主要原因是在 DNS 同步資訊時會因為不同等級領域的主機有不同的更新等待時間,因此Google與中華電信友善的提供了他們較高權限更新的 DNS 主機 IP ,讓一般使用者在連線時能更快速掌握正確的網站位址,減少發生網站更動 DNS,卻因為 DNS 同步速度較慢的關係,出現找不到網站的情況,或是,使用距離比較近的 DNS 主機,更新就能得到比較快的回應,所以理解其原理了之後,已下將為大家介紹該如何設定,這部分相關資訊。   Google    DNS 主機IP為: 主要的慣用 8.8.8.8    與備援的 8.8.4.4   中華電信  DNS 主機IP為:  主要的慣用 168.95.1.1 與備援的 168.95.192.1     進入系統的"控制台"後,選擇"網路和網際網路"當中的"網路和共用中心",將會發現"變更介面卡設定",選擇真正上網使用的網路硬體,點選滑鼠右鍵,打開內容選單便能看見網路連線內容,針對 "網際網路通訊協定第4版(TCP/IPv4)"進行內容的調整,由原本的"自動取得DNS伺服器位置" 改變為"使用下列的 "DNS 伺服器位置,在針對慣用和備援的 IP 鍵入 便能生效。  
   由先前本站介紹過"瀏覽器快取/緩存技術-HTTP Cache",瀏覽器運用快取技術的原理後,能夠有效的節省頻寬流量與網站再造訪時的快速呈現,但使用者在瀏覽較為大量的網站頁面後,將會有累積過多的快取/緩存檔案和未能即時對應網站更新的同步資訊問題,便可能影響長時間後的效率跟使用者操作的及時落差問題。     在瞭解了瀏覽器應用快取技術的優點與長期使用後可能會面臨的問題後,本次針對累積過多快取/緩存檔案跟未能即時更新同步問題,整理了改善對應的辦法,讓使用者能有效改善瀏覽器快取/緩存大量使用後的盲點。針對現今各家瀏覽器開發技術中大多皆加入了快取/緩存技術,也因為瞭解其應用原理將會有後續的盲點,因此各家瀏覽器也衍生了清理快取/緩存的功能,已下將針對現今常用的幾項瀏覽器進行清理快取/緩存的步驟說明。     Google Chrome  61.0.3163.100(正式版本)   1.點選在瀏覽器右上方 自訂及管理Google Chrome的圖示選項  2.選擇 自訂及管理Google Chrome 中的"設定"選項 3.進入設定頁面後,將最下方"進階"選項展開 4.從隱私權和安全性的功能中選擇"清除瀏覽資料" 5.其中有各項提供選擇的清除項目及可以選擇將要刪除的時機點,在此建議選擇"不限時間"和"瀏覽紀錄、快取圖片和檔案紀錄" 6.確定選擇完要刪除的項目後點擊"清除瀏覽資料"便能完成清理快取/緩存的功能     Microsoft Internet Explorer 11   1.點選在瀏覽器右上方 ,點選"工具"的圖示選項  2.選擇"安全性"中的"刪除瀏覽歷程紀錄" 3.其中有各項提供選擇的清除項目,在此建議選擇"網際網路暫存檔與網站檔案、cookie與網站資料、歷程記錄" 4.確定選擇完要刪除的項目後點擊"刪除",此時尚未完成,請稍待 5.待瀏覽器下方出現"Internet Explorer 已完成刪除選項的瀏覽歷程記錄"便能完成清理快取/緩存的功能     Mozilla Firefox 56.0.1   1.點選在瀏覽器右上方 ,點選"開啟選單"的圖示選項 2.選擇"歷史"中的"清除最近的歷史紀錄" 3.其中有"清除時間範圍"和"詳細資訊"展開後能提供選擇各項的清除項目 4.在此建議選擇"所有歷史紀錄"和"瀏覽與下載紀錄、已存表單及搜尋紀錄、cookie、快取" 5.確定選擇完要刪除的項目後點擊"立刻清除"便能完成清理快取/緩存的功能       在透過定期清除快取/緩存的功能後,便能有效提升瀏覽器快取的功能,以上若有相關疑問可以參考本站"初識網站快取加速、代理/Proxy快取伺服器"相關文章或歡迎至聯絡我們進行洽詢。
  本站先前介紹了"初識網站快取加速"與"代理/Proxy快取伺服器"後,本次將要說明的為"瀏覽器快取/緩存(HTTP Cache)",它幾乎是每個有瀏覽網站的人,都使用過的快取應用技術,但卻是一般人比較不會瞭解到的快取應用技術!不被瞭解的原因在於,一般使用者在使用時只會感受瀏覽器的流暢度,卻不知道瀏覽器其中已經運用了快取的對應技術,所以更加不可能知道瀏覽器的快取技術其實是運用了使用者本機記憶體作為對應進行。     瀏覽器的快取功能,主要是透過首次讀取網站頁面時,由瀏覽器產生一個"快取/緩存過期時間(max-age)"及"文件編輯/修改時間(last-modified-time)",在根據造訪伺服器實際網站內容來進行讀取工作,進而儲存快取/緩存資訊至使用者的本機記憶體中;當使用者再次查看相同網站時,瀏覽器會先透過第一次造訪所產生的"快取/緩存過期時間"來比對快取/緩存的資料是否"過期",若比對後沒有過期,瀏覽器就不再造訪伺服器,直接運用第一次造訪時所儲存的快取資料來呈現網站,便能省去重新呼叫伺服器和重新讀取資訊的動作與時間,達到節省流量且快速呈現的快取/緩存功能。若是真的遇到"快取/緩存過期時間",瀏覽器便會重新呼叫伺服器,透過"文件編輯/修改時間"與伺服器端資料進行比對,確認在過期這段時間中,是否有檔案有遭變更修改過,假設並沒有任何變動,瀏覽器便將會直接使用第一次造訪時的快取/緩存資訊來直接呈現,省下重新讀取的時間,此動作稱為"協議快取/緩存";如果在比對中發現有變更的檔案內容,便能針對個別單一誤差檔案進行重新讀取且更新的動作,省去重新讀取整個網站全部內容的冗長時間。     瞭解了瀏覽器快取技術的運用原理後,我們進而可以得知,其技術是透過瀏覽器將快取資料儲存在瀏覽者本機記憶體當中,此技術能有效達到節省流量與快速呈現網站的好處,但卻也可能造成使用者瀏覽過多網站後的過多快取資訊及快取資訊尚未過期而未能即時對應網站修改更新的問題,針對這部分衍伸問題的對應處理辦法將於下回討論中進行分享。
   在行動裝置普級的現況下,因為行動網路受到基地台的限制,已往內容精緻豐富、資訊龐大的網站反而將可能會導致讀取時間冗長,所以網頁讀取呈現的速度逐漸變成了網站瀏覽的優先指標,先前提到的"響應式網頁設計(RWD)、PageSpeed網站速度"都是能夠有效貼近行動裝置使用者操作的優化技術,提升網站在瀏覽時的快速性、便利性,因此本次將要再為大家介紹說明的是"網站快取功能"。      網站快取功能加速,能夠確實提升網站讀取速度,其原理在於暫存、緩存效果,當使用者在造訪網站時,需要透過網路傳輸將儲存在伺服器上的網站頁面資料,如:畫面、圖片、文字、影像等資訊,傳遞給使用者做瀏覽,當網站內容越豐富細緻,相對的傳輸時間自然會加長,便會增加觀看者的等待時間,就有可能造成使用者的青睞性降低;在使用網站快取功能增強網站讀取效能時,暫存、緩存功能可以預先將常使用的圖片及較為龐大檔案的資料進行整理壓縮且傳送到等待讀取的序列,讓網站在被使用者查看時能夠即時支援查看接收資訊的速度,不再受到已往網路傳輸模式單一呼叫與單一回應傳送的限制。      網站快取功能的概念目前已經被廣泛延伸,不僅在硬體裝置上的配置,還在許多一般人常用卻不會特別注意的軟體、程式置入相關技術,因此在行動裝置普級的時下,網站能夠兼具速度與豐富的操作感官,網站快取功能也是一項值得參造、使用的實用技術。   
  在先前的文章子網域是什麼?淺談子網域中,我們瞭解了子網域的來由與作用之後,本次將要解說的是子網域的設定,子網域雖然是由原網址名稱的延伸,可以隨著使用需求上的遞增或減少,不過在網域上的命名和設定上有著些微不同的,子網域需要在"DNS基本資訊"中進行增加與管理,因此會分為"指向 IP 位址的子網域"或"指向伺服器名稱的子網域"。     從字面上能瞭解子網域可以對應的是 IP 或是對應伺服器,但其實都是要給予子網域一個正確的連線地址,其中設定上的不同是,對應 IP 時,需要在 DNS 管理中進行" A紀錄 的設定",而 A記錄 的原意就是 IP Address 地址記錄,就是將單一個域名或主機名稱解析成一個具體的 IP 位址進行對應;對應伺服器時,則需要在 DNS 管理中進行" CNAME紀錄 的設定",CNAME記錄 原意為"別名記錄",通常用途是將子網域(例如:「www」或「mail」) 對應至其他(他人)代管子網域內容的網域,當中他人可能將多種子網域名稱功能合併映射成一個伺服器域名提供服務,此時我們在設定上便可以透過 CNAME 紀錄來各別指定 WWW 跟 MAIL 對應到同個伺服器域名進行工作,如以下範例:   紀錄名稱            子網域名稱                                對應位置                                                     TTL(暫存紀錄保留時間) ------------------------------------------------------------------------------------------------------ A紀錄       www.webdesigns.com.tw              127.0.0.1(對應IP)                                           Automatic   A紀錄       mail.webdesigns.com.tw               125.0.0.2(對應IP)                                           Automatic   A紀錄      example.webdesigns.com.tw         122.0.0.3(對應IP)                                           Automatic ------------------------------------------------------------------------------------------------------ CNAME      www.webdesigns.com.tw         abc.google.com(對應他人子網域伺服器)        Automatic   CNAME      mail.webdesigns.com.tw           mail.google.com(對應他人子網域伺服器)       Automatic   CNAME     example.webdesigns.com.tw     rwq.google.com(對應他人子網域伺服器)       Automatic 
   在本站先前介紹網域名稱的建立與建議後,此次將針對 子網域(Subdomain) 又稱 次網域 進行說明,在先前的文章中解說過,網域在建立與使用上可能影響著我們網站長遠的發展與經營,因此使用單一網址,避免多個不同網址卻重複同樣網站的內容,較不會影響搜尋引擎的收錄判斷及網站關注評分,但若面臨到一個機關行號資訊較為多元(如:形象、購物、部門分別等)或需要特殊使用需求(如:限時活動網站相關等)時,該如何避免重新申請網址及網站過度分化的困擾呢? 便可以使用"子網域"。     子網域主要是利用原先架設時所申請的"網址名稱"進行延伸,從本站先前介紹過網域名稱的分別與選擇中可以瞭解,網域中每個.分號分開的訊息代表著不同的屬性或域名,本次將說明的子網域就是要使用網址名稱前的域名進行變更產生,由本站網址為例:https://www.webdesigns.com.tw 其中 www 子網域代表的是常見的"全球資訊網路"意思,由於每一個主網域或子網域都是獨立的,可對應至一個IP,當然也可以對應至相同IP(相同主機),因此,若要增加新的子網域便可根據對應的IP進行將要使用的子網域進行命名設定,如以下範例:   假設本站將要加子網域可以設定為   設產品購物或活動頁面 https://shopping.webdesigns.com.tw    活動頁面 https://activity.webdesigns.com.tw     瞭解完子網域後,若您對設定還有疑問的部分,歡迎參考子網域設定│DNS 指向 IP 與 指向伺服器

ARTICLE

9

DNS-MX紀錄設定

   在網域擁有權確認完成後,通常有申請企業信箱的公司行號會同時開啟郵件伺服器管理,一般會根據郵件伺服器的服務商作為DNS的設定,若使用申請網域時所贈送的郵件位置通常不需刻意設置,但也有許多不同企業會根據使用效能與空間容量來額外申請其他郵件伺服器,此時就需要透過設定的MX紀錄來做為指向郵件伺服器,MX紀錄主要是用來將域名指向處理郵件的伺服器,要將域名連到郵件伺服器的設定,透過 MX 紀錄將負責郵件交換的工作指派給郵件服務提供商。   範例   A 紀錄 - mail ; 127.0.0.1   MX 紀錄 - mail.test.com.tw.;  (10)       在MX設定中,會先指定 A 紀錄,透過固定的IP,來對應郵件伺服器,有了可使用的固定ID後,由 MX 紀錄 來指定 mail.test.com.tw ;其中(10)代表的是 "MX參數",由於有時伺服器並不是只有單一一台時,將會參考參數中數字越小的伺服器作為優先服務。  

ARTICLE

10

DNS-SPF紀錄設定

     DNS 主要提供了「網域名稱」與「IP位址」對應的查詢連結,在先前本站介紹了DNS基本資訊設定與企業信箱申請開通後,本次要介紹的是企業信箱與DNS中較為相關聯進階的「SPF 紀錄設定」,在網站正式上線時,多數企業會連同企業信箱一同設定,透過SPF紀錄能有效的排除、阻擋他人冒用網域寄送垃圾信件,也能降低企業人員與其他通信用戶在聯絡被誤判為垃圾信件的可能性,提升通信用戶在與企業聯繫時的信賴成度。       一般來說,會將 SPF 規則 撰寫在 TXT 紀錄的數值欄位中,主要的功能是透過信件中寄件者網域資料,收件端會主動去向寄信端所屬的DNS伺服器核對其SPF紀錄,透過這樣的紀錄偵測發送者是否為盜用或不正確的來源,避免遭人冒用網域名稱寄信,作為防止垃圾郵件的生成。       TXT SPF 記錄在撰寫時,看似簡短普通,但其中有包含著標準規範的規則,已下列例子中:   "v=spf1 a +all"   "v=spf1 ptr:webdesigns.com -all"   "v=spf1 mx mx:example.domain.com ?all"   "v=spf1 a/24 a:example.webdesigns.com/24 -all"   "v=spf1 include:example.webdesigns.com ~all"   "v=spf1 ip4:127.0.0.1  ip4:127.0.0.2  -all"     範例中,v=spf1 是表示 spf 所使用的版本。   其中 a、mx、ptr、include、ip4 等等,表示比對 DNS 記錄中的各項紀錄做為核對參考。   all配合四種不同的符號代表不同的用意:    +:預設,可以根據其他加入的規則對郵件通行;標示為 Pass 。    -:除了規則中所列的寄件者以外,不允許其他來自其他人的郵件;標示為 Hard Fail。    ~:檢查是否為記錄中來源正確的信件,如果不是,已註記方式允許電子郵件但標示為 Soft Fail。    ?:代表可能還有其他網域,收件主機還是會接收該信件;標示為 Neutral 。