官术网_书友最值得收藏!

第1章 認識Tomcat

1.1 什么是Web Server

今天來討論Web對大多數人來說都不是多么陌生的概念,我們在電腦中打開瀏覽器,在地址欄中輸入http://www.sohu.com,就能夠看到搜狐公司提供給我們的網頁,來思考一下在你的操作背后,計算機本身以及Internet為我們在做些什么事情。

首先是瀏覽器,經過Java部分編程的學習,你不應該對計算機里面的任何程序有所敬畏,那些程序都是和你一樣的程序員編寫出來的,理論上只要你愿意,花些時間你也可以編寫出相似的程序!

那么,如果由你來編寫一個瀏覽器,你會做些什么?我們能夠想象,用戶輸入的http://www.sohu.com是一個網址,它對應了一個IP地址,通過網址得到一個IP地址,并不是一件多么難的事情,互聯網上的DNS服務就可以提供這樣的轉換。作為一個程序員,得到一個IP地址后,會創建Socket對象和對方連接上,目的是為了得到一個特定的網頁,我們常常能夠在瀏覽器的地址欄中看到這樣的網址:http://www.360buy.com/product/258313.html,意思是我要看京東網站上的258313.html這個文件的內容。這是由于一個網站上的網頁文件太多了,所以還會有路徑結構。

http://www.sohu.com這樣的網址請求是個例外,你并沒有指定要看哪個網頁,通常網站會提供一個默認的網頁,如果沒有指定,就將這個默認的網頁傳送給你。無論是哪種形式,我們將瀏覽器中輸入的地址稱為URL。

我們不看這樣的例外情況,來想一下,如果要看258313.html這個網頁,是不是要通過Socket將這個請求傳送到京東的網站服務器去呢。

京東的網站服務器一定是一臺計算機,但是只有計算機是不夠的,計算機上需要運行一個程序,我們能夠理解,這個程序將是服務器端的Socket應用,里面有ServerSocket,這個程序將監聽在一個端口,大家約定了提供Web服務的端口是80,當然也可以改變這個約定,那么在瀏覽器訪問的時候,就要額外指定新的端口號,如果不這樣做,就意味著瀏覽器訪問的是80端口。

服務器的程序將接收到瀏覽器發出的請求,然后它用IO流到自己所管理的目錄中找到這個258313.html文件,將這個文件的內容讀到內存中,然后通過網絡發送給你的瀏覽器,瀏覽器得到了這個文件的內容,將按照html的規則顯示出來。這就是一次最簡單的Web訪問的過程,如圖1-1所示。

圖1-1

作為一個計算機的使用者,瀏覽器是一個非常常用的程序,有很多公司會把這樣的程序做成產品,所以現在我們已經不需要來編寫這樣的程序了。

那么服務器程序在互聯網世界中,是不是也是非常常見的程序呢,其實編寫服務器程序更加有利可圖,所以現在在市場上有很多服務器端的軟件產品,這些產品被統稱為Web Server。

主站蜘蛛池模板: 惠来县| 苏尼特右旗| 岳西县| 酉阳| 东乌珠穆沁旗| 丹凤县| 大余县| 万载县| 平阴县| 犍为县| 罗田县| 鄂托克前旗| 勃利县| 左权县| 西丰县| 乌什县| 赤城县| 永新县| 肇源县| 金寨县| 金山区| 石泉县| 建宁县| 团风县| 长宁县| 徐州市| 文成县| 资溪县| 东阿县| 张家港市| 东至县| 东丽区| 咸阳市| 张家川| 温宿县| 普宁市| 张家港市| 远安县| 白山市| 安西县| 遂宁市|