程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 一個web頁面的訪問的過程,web頁面訪問過程

一個web頁面的訪問的過程,web頁面訪問過程

編輯:JAVA綜合教程

一個web頁面的訪問的過程,web頁面訪問過程


Browers是如何在浩瀚的互聯網上找到我們需要的資源呢?

以下將記錄這個過程,這個過程是web編程需要需要熟知的。

用戶打開浏覽器輸入目標地址(比如http://www.sina.com),那麼接下來發生什麼事情呢?

 

1,浏覽器首先會查詢本機的系統,獲取主機名對應的IP地址。

2,若本機查詢不到相應的IP地址,則會發起DNS請求,獲取主機名對應的IP地址。

3,使用查詢到的IP地址,直接訪問目標服務器。

  首先說說訪問目標地址的兩種方式:

  第一,使用目標IP地址訪問。比如你可以直接在浏覽器中輸入新浪的IP地址:218.30.13.36而直接訪問它的主機。

  第二,由於IP地址都是一堆數字不方便人記憶,於是有了域名這種字符型標識。DNS服務器則完成域名解析的工作,它將你訪問的目標域名轉換成相應的IP地址。

  因此若你的電腦上不了網未必就一定是目標主機的問題了哦!還有可能是DNS服務器的故障。所以這種情況下,你能熟知幾個常用的IP地址,那麼在命令行使用ping一下就能知道問題是否是出現在DNS服務器上了。比較常用的IP有:百度180.76.76.76 谷歌8.8.8.8或8.8.4.4阿裡雲223.5.5.5或223.6.6。

  為什麼我們不能自己建立一個www.sina.com或者www.google.com這樣的網站而讓全世界的人都訪問我這個網站呢(顯然sina和google肯定不會讓你這麼干)?由以上幾步可以看出,因為域名系統的存在,使得我們可以訪問目標域名(www.sina.com)的時候,DNS服務器總是解析對應的IP地址(218.30.13.36)。所以若要別人都訪問你的“新浪”,則需要將DNS的服務器路徑指向你本機所在的IP地址,這顯然得新浪願意才行。

  那麼,假如我為了學習一定要這樣做呢?恩!確實也可以,可是此“新浪”非彼“新浪”。

  由步驟1可知道,浏覽器在發送DNS請求的之前,需要訪問本機的系統查看一下是否存在對應的主機IP。那麼我們是否可以修改這個配置文件呢?答案是肯定的。

  windows下打開文件:c:windows\system32\drivers\etc\hosts

  linux下打開文件:/etc/hosts

  加入你需要修改的IP地址,使目標的IP指向你本機的IP,則它就能實現訪問你本機上的資源了。

  如加入:127.0.1.1 (假如這是我本機的IP)  www.sina.com

      127.0.1.1              www.google.com

  這樣你和你的朋友都可以訪問你主機上這個sina了,顯然由以上的討論可知,你朋友只能通過你的IP地址訪問該sina。

4,浏覽器發送HTTP請求。

  HTTP請求由三部分組成,分別是:請求行、消息報頭、請求正文

    有興趣的朋友可以在這裡查看相關的資料。

5, 從請求信息中獲得客戶機想訪問的主機名。

6,從請求信息中獲取客戶機想要訪問的web應用。(web應用程序指提供浏覽器訪問的程序,簡稱web應用)

7,從請求信息中獲取客戶機要訪問的web資源。(web資源,即各種文件,圖片,視頻,文本等)

8,讀取相應的主機下的web應用,web資源。

9,用讀取到的web資源數據,創建一個HTTP響應。

10,服務器回送HTTP響應。

  HTTP響應也是由三個部分組成,分別是:狀態行、消息報頭、響應正文

  有興趣的朋友可以在這裡查看相關的資料。

11,客戶浏覽器解析回送的資源,並顯示結果。

 

 

TCP/UDP協議

TCP (Transmission Control Protocol):TCP提供IP環境下的數據可靠傳輸,它提供的服務包括數據流傳送、可靠性、有效流控、全雙工操作和多路復用。通過面向連接、端到端和可靠的數據包發 送。通俗說,它是事先為所發送的數據開辟出連接好的通道,然後再進行數據發送;

TCP支持的應用協議主要有:Telnet(遠程終端協議)、FTP(File Transfer Protocol文件傳輸協議)、SMTP(Simple Mail Transfer Protocol簡單郵件傳輸協議)等;

UDP(User Datagram Protocol):UDP則不為IP提供可靠性、流控或差錯恢復功能。一般來說,TCP對應 的是可靠性要求高的應用,而UDP對應的則是可靠性要求低、傳輸經濟的應用。

UDP支持的應用層協議主要有:NFS(網絡文件系統)、SNMP(簡單網絡管理協議)、DNS(主域名稱系統)、TFTP(通用文件傳輸協議)等。

TCP和UDP協議屬於傳輸層協議。

 

 

常見互聯網TCP/UDP協議其端口號:

 FTP 控制 :  21端口    說明:ftp服務器所開放的端口,用於上傳下載。最常見的攻擊者用於尋找打開anonymous的ftp服務器方法。這些服務器帶有可讀寫的目錄。

SSH 服務 :  22端口    說明:pcAnywhere建立的tcp和這一端口的連接可能是為了尋找ssh。這一服務有許多弱電,如果配置成特定的模式,許多使用 RSAREF庫的版本就會有不少漏洞存在。    

Telnet 服務:   23端口      說明:遠程登陸,入侵者在搜索遠程登陸UNIX的服務。大多數情況下掃描這一端口是為了找到機器運行的操作系統。還有使用其他技術,入侵者會找到密碼。

SMTP 服務 : 25端口    說明:SMTP服務器所開放的端口,用於發送郵件。入侵者尋找SMTP服務器是為了傳遞他們的SPAM。入侵者的賬號被關閉,他們需要連接到高帶寬的EMAIL服務器上,將簡單的信息傳遞到不同的地址。

DNS 服務 :   53端口      說明:  為DNS(Domain Name Server,域名服務器)服務器所開放,主要用於域名解析,DNS服務在NT系統中使用的最為廣泛。入侵者可能是試圖進行區域傳遞(TCP),欺騙DNS(udp)或隱藏其它的通信。因此防火牆常常過濾或記錄此端口。

HTTP 服務 :   80端口       說明:用於網頁浏覽。木馬Executor開放此端口

POP3服務: 110端口     說明: 郵件協議3的服務開放端口,POP2、POP3都是主要用於接收郵件的。  它用於接收郵件,客戶端訪問服務器的郵件服務。 pop3服務有許多公認的弱點。關於用戶名和密碼交換緩存溢出的溢出弱點至少有20個,這意味者入侵者可以在真正登陸前進入系統。成功登陸後還有其它緩沖區溢出錯誤。

IMAP服務:  143端口    說明:是用於“Internet Message Access Protocol”v2(Internet消息訪問協議,簡稱IMAP),和pop3問題一樣多。許多IMAP服務器存在有緩沖區溢出漏洞。一種LINUX蠕蟲admvorm會通過這個端口繁殖,因此許多這個端口的掃描來自不知情的已經被感染的用戶。

HTTPS 服務: 443端口      說明:網頁浏覽端口,能提供加密和通過安全端口傳輸的另一種HTTP

終端服務:  3389端口   說明:windows2000開放此端口。

詳細請參考:TCP/UDP常用端口列表。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved