日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

初次使用Apache、ip地址、防火墙、域名、DNS、hosts文件、端口、URL介绍、Apache配置文件、配置虚拟主机、请求响应、http协议、

發(fā)布時(shí)間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初次使用Apache、ip地址、防火墙、域名、DNS、hosts文件、端口、URL介绍、Apache配置文件、配置虚拟主机、请求响应、http协议、 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Apache提供web服務(wù):

啟動(dòng)Apache,讓其客戶端可以使用你機(jī)器上安裝的Apache提供的web服務(wù),訪問你機(jī)器上的網(wǎng)站。這種情況下你的計(jì)算機(jī)就是服務(wù)器,別人的機(jī)器就是客戶端。

注意:確保配置文件語法檢查通過,確保80端口沒有被其他程序占用,確保防火墻允許80端口的請求 ,如果出現(xiàn)Forbidden情況,確保配置文件http.conf中的DocumentRoot之后的Directory配置的與DocumentRoot路徑相同。 對于我們開發(fā)階段大多數(shù)是自己訪問自己設(shè)備上面的站點(diǎn),所以我們一定要分清楚客戶端和服務(wù)端,客戶端局限于瀏覽器,代碼和Apache相關(guān)的文件都要放在服務(wù)端。

IP地址:

設(shè)備在某個(gè)網(wǎng)站中的地址,目前最常見的格式[0-255].[0-255].[0-255].[0-255],作用就是標(biāo)識(shí)一個(gè)網(wǎng)絡(luò)中的設(shè)備(計(jì)算機(jī),手機(jī),電視)在某一個(gè)具體網(wǎng)絡(luò)中的地址,127.0.0.1是本地回環(huán)地址,即某個(gè)設(shè)備默認(rèn)的IP。

防火墻:

用來禁用某個(gè)應(yīng)用對網(wǎng)絡(luò)的請求的。

域名:

由于IP地址都是沒有規(guī)律的一些數(shù)字組成的,很難被人記住,不利于廣泛傳播,所以就有人想出要給IP起別名,即后來的域名,域名是要花錢注冊的。

DNS:

通過寬帶運(yùn)營商提供的服務(wù)解析一個(gè)域名背后的IP,這個(gè)過程叫做DNS尋址,幫你完成DNS尋址過程的服務(wù)器叫做DNS服務(wù)器。

hosts文件:

操作系統(tǒng)在發(fā)起對DNS服務(wù)器的查詢之前,會(huì)先檢查本地的hosts文件,如果這個(gè)文件中包含了對當(dāng)前需要解析的域名的配置,則不在發(fā)起對DNS服務(wù)器的請求,直接用hosts文件中配置的IP進(jìn)行對服務(wù)器請求;

hosts文件路徑:C:\Windows\System32\drivers\etc\hosts

注意:本機(jī)的hosts文件配置只能影響到本機(jī)的DNS尋址,只有以管理員權(quán)限運(yùn)行編輯器才有權(quán)利修改hosts文件

端口:

計(jì)算機(jī)本身是一個(gè)封閉的環(huán)境,如果需要有數(shù)據(jù)通信往來,必須有門,這個(gè)門在術(shù)語上就叫端口,每個(gè)端口都有一個(gè)編號(hào),每臺(tái)計(jì)算機(jī)只有65536個(gè)端口(0-65536)。

監(jiān)聽:占門的過程,可以通過命令運(yùn)行:netstat -an命令監(jiān)聽本機(jī)的端口使用情況

端口查詢:推薦百度查詢,http的端口默認(rèn)是:80;https的端口默認(rèn)是:443

URL(Uniform Resource Locator):

統(tǒng)一資源定位符,通俗點(diǎn)來說就是表示網(wǎng)絡(luò)當(dāng)中某個(gè)網(wǎng)頁完整的訪問地址,它具有一定的格式:

https: // user : pass @sub.host.com : 8080 /p/a/t/h ? query=string #hash協(xié)議 用戶名 密碼 主機(jī)名 端口 路徑名 搜索 不發(fā)送到服務(wù)器

Apache配置文件:

配置文檔推薦:http://httpd.apache.org/docs/current/

監(jiān)聽端口:

監(jiān)聽端口可以隨意修改為任意一個(gè)未被其他程序監(jiān)聽的端口,可以通過設(shè)置配置文件httpd.conf中的Listen指令后面的數(shù)字修改。

網(wǎng)站根目錄:

存放網(wǎng)站文件的頂層目錄,通常URL中域名后面的第一個(gè)斜線對應(yīng)的就是網(wǎng)站根目錄。(Apache默認(rèn)網(wǎng)站根目錄是安裝目錄中的htdocs文件夾)

默認(rèn)文檔:

訪問某一個(gè)目錄時(shí)(沒有指定具體的文件),默認(rèn)訪問的文件就叫默認(rèn)文檔,一般命名為index.html、index.php等;注:動(dòng)態(tài)網(wǎng)站情況會(huì)比較特殊,需要單獨(dú)考慮,不一定是這個(gè)規(guī)則。

配置網(wǎng)站根目錄:

Apache默認(rèn)網(wǎng)站根目錄是安裝目錄中的htdocs文件夾,為了方便對網(wǎng)站的管理,一般我們會(huì)將網(wǎng)站根目錄通過配置文件httpd.conf配置在一個(gè)自定義目錄中,當(dāng)然不介意的話可以不用修改配置默認(rèn)網(wǎng)站根目錄。如需要修改,則通過修改配置文件httpd.conf中的網(wǎng)站根目錄DocumentRoot及Director 選項(xiàng)的指向來修改跟目錄。

配置默認(rèn)文檔及目錄瀏覽設(shè)置:

配置文件httpd.conf中DirectoryIndex是用來配置默認(rèn)文檔的,如配置index.html為默認(rèn)文檔:DirectoryIndex index.html,默認(rèn)文檔可以配置多個(gè)(由前到后依次去找,找到為止,如果找不到其中默認(rèn)的文件,則啟用目錄瀏覽);如果不想啟用目錄瀏覽,只需要在當(dāng)前目錄添加一個(gè)空白的index.html文件即可,或使用目錄瀏覽拒絕訪問:在httpd.conf文檔中修改Options Indexes FollowSymLinks為Options FollowSymLinks也可以。

配置虛擬主機(jī):

虛擬主機(jī):

如果一臺(tái)機(jī)器上只有一個(gè)網(wǎng)站的話,是沒有任何問題,但是實(shí)際中一臺(tái)機(jī)器上面可能同時(shí)存放多個(gè)項(xiàng)目,此時(shí)就需要配置多個(gè)虛擬主機(jī)來解決這個(gè)問題。

配置虛擬主機(jī):

虛擬主機(jī)的配置是很常見的,避免破壞主配置文件中的其他配置,通常把配置虛擬主機(jī)的文件單獨(dú)抽離出一個(gè)文件,之后在引入主配置文件。其抽離的配置文件目錄為:C:\t\Apache\conf\extra\httpd-vhosts.conf。具體流程如下:

1.在主配置文件httpd.conf中找到Include conf/extra/httpd-vhosts.conf指令,將其注釋去掉或不帶注釋復(fù)制粘貼在這,作用是引入httpd-vhosts.conf文件2.在抽離的虛擬主機(jī)配置文件httpd-vhosts.conf中添加一個(gè)虛擬主機(jī)配置的節(jié)點(diǎn):(這里可以添加多個(gè)虛擬主機(jī)節(jié)點(diǎn)來配置多個(gè)虛擬主機(jī)) <VirtualHost *:80>-----------------------------------------------------------虛擬主機(jī)的配置,綁定任意IP的80端口ServerAdmin webmaster@dummy-host.example.com-----------------------------自己的郵箱地址DocumentRoot F:/demo-----------------------------------------------------項(xiàng)目存放的根目錄<Directory F:/demo>------------------------------------------------------目錄權(quán)限設(shè)置Require all granted--------------------------------------------------解鎖所有的請求,授權(quán)Options Indexes FollowSymLinks---------------------------------------開啟目錄瀏覽AllowOverride None---------------------------------------------------不允許目錄內(nèi)。htaccess文件覆蓋此處配置</Directory>ServerName day-01.io-----------------------------------------------------域名ServerAlias www.day-01.io------------------------------------------------另一個(gè)域名(別名)ErrorLog "logs/day-01.io-error.log"--------------------------------------錯(cuò)誤日志CustomLog "logs/day-01.io-access.log" common-----------------------------自定義日志 </VirtualHost> 如: <VirtualHost *:80>ServerAdmin 810665436@qq.comDocumentRoot E:/web前端<Directory E:/web前端>Require all grantedOptions Indexes FollowSymLinksAllowOverride None</Directory>ServerName myblog.comErrorLog "logs/dummy-host.example.com-error.log"CustomLog "logs/dummy-host.example.com-access.log" common </VirtualHost>3.如果配置的域名沒有解析到DNS服務(wù)器上,這里需要在本地hosts文件中將域名解析到IP地址:C:\Windows\System32\drivers\etc文件夾中的hosts文件添加域名的指向:127.0.0.1(本地IP) myblog.com項(xiàng)目的域名4.重啟Apache,在瀏覽器搜索配置的域名進(jìn)行測試。

靜態(tài)網(wǎng)站與動(dòng)態(tài)網(wǎng)站:

請求響應(yīng):

瀏覽器請求網(wǎng)站到看到頁面做了什么?

用戶輸入網(wǎng)址—瀏覽器發(fā)送請求到服務(wù)器—服務(wù)器發(fā)送代碼給瀏覽器—瀏覽器接收代碼渲染網(wǎng)頁給用戶

1.用戶打開瀏覽器輸入網(wǎng)址的URL

2.瀏覽器通過DNS服務(wù)器獲取訪問的網(wǎng)站IP地址

3.瀏覽器發(fā)起對這個(gè)IP的請求

4.服務(wù)端接收到這個(gè)請求,進(jìn)行相應(yīng)的處理

5.服務(wù)端處理完的結(jié)果返回給用戶瀏覽器

6.瀏覽器將接收到的服務(wù)端的結(jié)果呈現(xiàn)到界面上

瀏覽器端:1.用戶在瀏覽器中輸入要訪問的URL地址2.瀏覽器解析用戶輸入的URL地址------------知域名 + 端口號(hào)3.瀏覽器先檢查本地緩存是否有這個(gè)域名,有的話可以得到IP,沒有則執(zhí)行下一步4.瀏覽器發(fā)起一個(gè)DNS系統(tǒng)調(diào)用--------------知IP4.1先檢查操作系統(tǒng)的緩存里面有沒有這個(gè)域名,沒有則執(zhí)行下一步4.2在系統(tǒng)的hosts文件中找是否有這個(gè)域名,沒有則執(zhí)行下一步4.3會(huì)對DNS服務(wù)器發(fā)起一個(gè)系統(tǒng)調(diào)用DNS服務(wù)器:DNS服務(wù)器存有com,cn,net等域5.瀏覽器會(huì)通過本地的隨機(jī)端口建立一個(gè)與服務(wù)端指定端口之間的連接通道6.瀏覽器會(huì)將客戶端的一些信息打成 包(請求報(bào)文) 并把這個(gè) 包(請求報(bào)文) 通過連接通道發(fā)送到web服務(wù)端|||||||||| 服務(wù)端:web server(Apache):1.打開提交過來的 包,拿到 包 里面的請求路徑2.根據(jù)請求路徑對應(yīng)文件的擴(kuò)展名找到文件的MIME type(在Apache的配置文件mime.types中)3.判斷文件類型是否為靜態(tài)文件,如果是靜態(tài)文件,則直接讀取這個(gè)文件的內(nèi)容,否則交給模塊(php)處理,之后把執(zhí)行結(jié)果返回給web server4.服務(wù)端會(huì)把要發(fā)給客戶端的數(shù)據(jù)打包(響應(yīng)報(bào)文),之后通過連接通道發(fā)給瀏覽器端||||||||||瀏覽器端:7.打開服務(wù)端返回給瀏覽器的包(響應(yīng)報(bào)文),找到響應(yīng)報(bào)文中的Content-type,根據(jù)Content-type的值決定如何響應(yīng)內(nèi)容。8.如果是html,則渲染在瀏覽器的界面上。

http協(xié)議:

HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)的定義:最早是計(jì)算機(jī)與計(jì)算機(jī)之間溝通的一種標(biāo)準(zhǔn)協(xié)議,現(xiàn)在http應(yīng)用于各種領(lǐng)域的端與端之間的通訊協(xié)議。

約定的內(nèi)容:請求/響應(yīng)報(bào)文格式 請求方法—GET/POST 響應(yīng)狀態(tài)—200/404/302/304 預(yù)設(shè)請求/響應(yīng)頭

約定的形式:

1.客戶端通過隨機(jī)端口與服務(wù)器的某個(gè)固定端口(一般為80端口)建立連接三次握手2.客戶端是通過這個(gè)連接 ‘發(fā)送請求(請求報(bào)文)’ 到服務(wù)端3.服務(wù)端監(jiān)聽端口得到客戶端發(fā)送過來的請求4.服務(wù)端通過連接響應(yīng)給客戶端狀態(tài)和內(nèi)容(響應(yīng)報(bào)文)

請求報(bào)文格式:請求行====>請求頭====>空行====>請求體

響應(yīng)報(bào)文格式:狀態(tài)行====>響應(yīng)頭====>空行====>響應(yīng)體

通過header()實(shí)現(xiàn)文件下載:

header是用來設(shè)置響應(yīng)頭的,里面Content-Type屬性可以判斷數(shù)據(jù)格式供瀏覽器處理,當(dāng)Content-Type屬性的值設(shè)置為不識(shí)別的值時(shí),文件就會(huì)被下載下來,如:

<?php header('Content-Type: application/octet-stream');//特殊需要記憶 ?>

提示:本文圖片等素材來源于網(wǎng)絡(luò),若有侵權(quán),請發(fā)郵件至郵箱:810665436@qq.com聯(lián)系筆者刪除。
筆者:苦海

總結(jié)

以上是生活随笔為你收集整理的初次使用Apache、ip地址、防火墙、域名、DNS、hosts文件、端口、URL介绍、Apache配置文件、配置虚拟主机、请求响应、http协议、的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。