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

第1章 認(rèn)識Tomcat

1.1 什么是Web Server

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

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

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

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

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

京東的網(wǎng)站服務(wù)器一定是一臺計算機(jī),但是只有計算機(jī)是不夠的,計算機(jī)上需要運(yùn)行一個程序,我們能夠理解,這個程序?qū)⑹欠?wù)器端的Socket應(yīng)用,里面有ServerSocket,這個程序?qū)⒈O(jiān)聽在一個端口,大家約定了提供Web服務(wù)的端口是80,當(dāng)然也可以改變這個約定,那么在瀏覽器訪問的時候,就要額外指定新的端口號,如果不這樣做,就意味著瀏覽器訪問的是80端口。

服務(wù)器的程序?qū)⒔邮盏綖g覽器發(fā)出的請求,然后它用IO流到自己所管理的目錄中找到這個258313.html文件,將這個文件的內(nèi)容讀到內(nèi)存中,然后通過網(wǎng)絡(luò)發(fā)送給你的瀏覽器,瀏覽器得到了這個文件的內(nèi)容,將按照html的規(guī)則顯示出來。這就是一次最簡單的Web訪問的過程,如圖1-1所示。

圖1-1

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

那么服務(wù)器程序在互聯(lián)網(wǎng)世界中,是不是也是非常常見的程序呢,其實(shí)編寫服務(wù)器程序更加有利可圖,所以現(xiàn)在在市場上有很多服務(wù)器端的軟件產(chǎn)品,這些產(chǎn)品被統(tǒng)稱為Web Server。

主站蜘蛛池模板: 开平市| 江都市| 洱源县| 临沧市| 吉首市| 延庆县| 平阴县| 驻马店市| 南乐县| 利辛县| 铜陵市| 金溪县| 武汉市| 神木县| 南澳县| 吉隆县| 固安县| 清流县| 慈利县| 涞水县| 马公市| 九龙坡区| 海伦市| 黄浦区| 富阳市| 孝义市| 新兴县| 汤原县| 永和县| 平塘县| 聂拉木县| 扶绥县| 繁昌县| 油尖旺区| 大田县| 东平县| 凤冈县| 陈巴尔虎旗| 高雄市| 兴国县| 门头沟区|