- 知道什么是Web服務(wù)器
- 知道IP、域名和端口
- 知道DNS
- 知道C/S和B/S架構(gòu)
1. Web服務(wù)器
問題: 當我們寫好一個html文件,放在桌面上時,別人能不能通過瀏覽器訪問?
答: 不行。 必須將我們的html文件放入==web服務(wù)器==,其他人通過網(wǎng)絡(luò)才能訪問。
1.1 什么是服務(wù)器?
服務(wù)器可以從硬件、軟件(系統(tǒng)軟件、應(yīng)用軟件)兩個角度描述。
按硬件描述: 服務(wù)器就是一臺超級計算機。
按系統(tǒng)劃分: 在硬件上安裝了什么操作系統(tǒng),就可以稱為該系統(tǒng)的服務(wù)器
例如: linux服務(wù)器、windows服務(wù)器、unix服務(wù)器等。
按軟件劃分: 在操作系統(tǒng)中安裝了什么軟件,就可以稱作該軟件的服務(wù)器
例如: ==web服務(wù)器、數(shù)據(jù)庫服務(wù)器==、郵件服務(wù)器等。
1.2 Web服務(wù)器
Web服務(wù)器就是安裝了Web服務(wù)軟件,能夠提供網(wǎng)站服務(wù)的服務(wù)器。淘寶、京東、新浪等等
常見的Web軟件:
==Apache==、Nginx、IIS、Tomcat、==Nodejs== 等。
Apache服務(wù)器、Nginx服務(wù)器、IIS服務(wù)器、Tomcat服務(wù)器、Nodejs服務(wù)器
PS: web服務(wù)器又叫做http/httpd服務(wù)器
2. 安裝phpstudy
phpstudy是一個集成環(huán)境,包含了:Apache、MySQL等服務(wù)器軟件。 我們安裝該軟件之后,就是在自己電腦上安裝了 Apache服務(wù)器和MySQL服務(wù)器。
類似的軟件: WAMP、PHPnow等等
2.1 準備工作
2.2 安裝
==核心重點: 安裝任何與開發(fā)相關(guān)的軟件時都必須安裝到英文路徑下。== (不安裝到英文路徑下可能產(chǎn)生未知的錯誤)
- 解壓壓縮包
- 設(shè)置安裝路徑
必須是英文路徑,路徑中不能出現(xiàn)中文
- 安裝過程
- 安裝完成,顯示 圖形化控制界面
- 點擊 '啟動' 按鈕,開啟服務(wù)器(此處同時開啟了 Apache和MySQL)
- 允許 Apache 和 MySQL 訪問網(wǎng)絡(luò)
- 測試
打開瀏覽器輸入: 127.0.0.1 按下回車后能看到頁面上顯示 'Hello World' 則說明安裝成功
2.3 phpstudy目錄結(jié)構(gòu)
進入 d:/phpstudy 目錄
再進入 PHPTutorial 目錄
Apache: Apache服務(wù)器軟件安裝目錄
MySQL: MySQL服務(wù)器軟件安裝目錄
WWW: 網(wǎng)頁及相關(guān)文件保存目錄。 所有的 html、js、css以及使用到的圖片、視頻、音頻文件保存目錄
2.4 Apache使用演示
將之前寫好的 '品優(yōu)購' 網(wǎng)頁存放到WWW目錄下
==注意:在 WWW 目錄下創(chuàng)建了 p-buy 目錄,再將品優(yōu)購的網(wǎng)頁放在該目錄下==
在瀏覽器中輸入: 127.0.0.1/p-buy/index.html
在瀏覽器中輸入: 127.0.0.1/p-buy/list.html
在瀏覽器中輸入: 127.0.0.1/p-buy/item.html
3. 網(wǎng)站基礎(chǔ)概念
3.1 URL地址解析
瀏覽器中輸入的地址: 127.0.0.1/p-buy/index.html
實際全地址: http://127.0.0.1:80/p-buy/index.html
http: 協(xié)議名, 超文本傳輸協(xié)議
127.0.0.1: 服務(wù)器IP地址
80: Apache服務(wù)器的默認端口號
/p-buy/index.html: 要訪問的文件路徑
3.2 IP地址
IP: Internet Protocol 互聯(lián)網(wǎng)協(xié)議,是為計算機網(wǎng)絡(luò)相互連接進行通信而設(shè)計的協(xié)議。
處于網(wǎng)絡(luò)(互聯(lián)網(wǎng)、局域網(wǎng))上的任何一臺計算機都有一個獨立的ip地址。
ip地址由4段3位長度的數(shù)字組成, 3位數(shù)字的取值范圍 0-255。如: 102.15.201.10
特殊ip:
127.0.0.1 : 回環(huán)地址,每一臺電腦都有該ip,指向當前使用的電腦
192.168.*. *: 該網(wǎng)段是專門用于做==局域網(wǎng)==的ip段。
3.3 域名
域名(Domain Name): 每個網(wǎng)站都有一個自己的域名。人們可以在瀏覽器中輸入域名來訪問對應(yīng)的網(wǎng)站。
淘寶: www.taobao.com
百度: www.baidu.com
特殊域名:
localhost: 本地主機。在瀏覽器中輸入localhost就會訪問當前操作的這臺電腦的web服務(wù)器。
3.4 DNS
DNS: Domain Name System 域名系統(tǒng)。在DNS服務(wù)器中保存了域名和IP的映射關(guān)系。主要工作是將域名轉(zhuǎn)換為IP地址,因為我們通過瀏覽器訪問網(wǎng)站時,實際上是去找對應(yīng)的IP地址。
域名: 網(wǎng)站的名稱,就相當于人名。
IP: 網(wǎng)站在網(wǎng)絡(luò)上的實際地址,就相當于人的住址。
一般訪問網(wǎng)站時都是輸入域名的(例如: www.tmall.com www.163.com),但是在實際訪問時域名會被DNS轉(zhuǎn)換為IP地址。
DNS工作機制圖:
hosts文件可以手動設(shè)置域名和IP的映射關(guān)系
dns緩存可以保存曾經(jīng)訪問過的域名和IP的映射關(guān)系
工作步驟:
在瀏覽器中輸入 www.taobao.com,按下回車
瀏覽器首先在本機中的 hosts文件和dns緩存中查詢,www.taobao.com的IP地址。如果有,則獲取該IP地址,然后去訪問淘寶服務(wù)器。 如果沒有,則向dns服務(wù)器發(fā)送解析請求。
dns服務(wù)器獲取到瀏覽器請求信息之后, 將域名轉(zhuǎn)換為IP地址,再將IP地址返回給瀏覽器。
瀏覽器獲取到IP地址,然后通過IP地址訪問淘寶服務(wù)器。
windows下查看dns緩存:
ipconfig /displaydns
ipconfig /displaydns > c:/dnscache.txt 將dns緩存導(dǎo)入到c:/dnscache.txt文件
windows下清除dns緩存
ipconfig /flushdns
3.5 端口
端口是英文port的意譯。端口可以理解為區(qū)分服務(wù)器上服務(wù)的標號。
已被占用的著名端口號:
80: Web端口號, Apache、Nginx、IIS
? 3306: MySQL端口號
21: FTP端口號, FTP軟件
22: SSH端口號
25: sendmail端口號
......
因為Web服務(wù)的默認端口號是80,所以在地址欄可以不輸入,但是如果將端口號改為其他的(如:8088),那就必須輸入端口號,才能正常訪問。
端口號取值范圍: 0-65535
3.6 C/S和B/S架構(gòu)
C/S軟件體系結(jié)構(gòu),即Client/Server (客戶機/服務(wù)器)結(jié)構(gòu)。
核心特點:==要下載一個客戶端==,例如:QQ、微信、LOL、王者榮耀、絕地求生等。
C/S結(jié)構(gòu)的軟件,服務(wù)器主要做==數(shù)據(jù)轉(zhuǎn)發(fā)==工作。以QQ聊天為例:
任何兩個人聊天的內(nèi)容都會發(fā)送到QQ服務(wù)器上,然后再由QQ服務(wù)器進行轉(zhuǎn)發(fā)
王小賤和小仙女聊天
唐小賤發(fā)送一句話,這句話會先發(fā)送到QQ服務(wù)器,再由QQ服務(wù)器轉(zhuǎn)發(fā)到小仙女的客戶端。
B/S軟件體系結(jié)構(gòu),即Browser/Server (瀏覽器/服務(wù)器)結(jié)構(gòu)。
核心特點:==使用瀏覽器(Chrome、Firefox等)進行操作==,例如:淘寶、京東、新浪等。
B/S結(jié)構(gòu)軟件,服務(wù)器承擔了所有業(yè)務(wù),瀏覽器只是用來顯示最終內(nèi)容的。
思考問題: B/S的優(yōu)勢和劣勢, C/S的優(yōu)勢和劣勢。
B/S的優(yōu)勢: 部署方便,容易維護。用戶使用方便(一個瀏覽器即可)。
B/S的劣勢: 客戶端功能簡單
C/S的優(yōu)勢: 客戶端的功能強大
C/S的劣勢: 必須下載客戶端非常麻煩,升級維護麻煩
4. 靜態(tài)網(wǎng)站和動態(tài)網(wǎng)站
靜態(tài)網(wǎng)站: 頁面永遠都一樣(頁面當中的數(shù)據(jù)是死的)
動態(tài)網(wǎng)站: 頁面中的數(shù)據(jù)從數(shù)據(jù)庫來(數(shù)據(jù)是活的)
動態(tài)網(wǎng)站實現(xiàn)需要一種后端技術(shù)來支撐: PHP、JSP、 ASP、Python等
Javascript也能作為后端技術(shù),但是需要Nodejs運行環(huán)境來支撐。