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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/3/15 编程问答 29 豆豆

Apache提供web服務:

啟動Apache,讓其客戶端可以使用你機器上安裝的Apache提供的web服務,訪問你機器上的網站。這種情況下你的計算機就是服務器,別人的機器就是客戶端。

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

IP地址:

設備在某個網站中的地址,目前最常見的格式[0-255].[0-255].[0-255].[0-255],作用就是標識一個網絡中的設備(計算機,手機,電視)在某一個具體網絡中的地址,127.0.0.1是本地回環地址,即某個設備默認的IP。

防火墻:

用來禁用某個應用對網絡的請求的。

域名:

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

DNS:

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

hosts文件:

操作系統在發起對DNS服務器的查詢之前,會先檢查本地的hosts文件,如果這個文件中包含了對當前需要解析的域名的配置,則不在發起對DNS服務器的請求,直接用hosts文件中配置的IP進行對服務器請求;

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

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

端口:

計算機本身是一個封閉的環境,如果需要有數據通信往來,必須有門,這個門在術語上就叫端口,每個端口都有一個編號,每臺計算機只有65536個端口(0-65536)。

監聽:占門的過程,可以通過命令運行:netstat -an命令監聽本機的端口使用情況

端口查詢:推薦百度查詢,http的端口默認是:80;https的端口默認是:443

URL(Uniform Resource Locator):

統一資源定位符,通俗點來說就是表示網絡當中某個網頁完整的訪問地址,它具有一定的格式:

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

Apache配置文件:

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

監聽端口:

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

網站根目錄:

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

默認文檔:

訪問某一個目錄時(沒有指定具體的文件),默認訪問的文件就叫默認文檔,一般命名為index.html、index.php等;注:動態網站情況會比較特殊,需要單獨考慮,不一定是這個規則。

配置網站根目錄:

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

配置默認文檔及目錄瀏覽設置:

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

配置虛擬主機:

虛擬主機:

如果一臺機器上只有一個網站的話,是沒有任何問題,但是實際中一臺機器上面可能同時存放多個項目,此時就需要配置多個虛擬主機來解決這個問題。

配置虛擬主機:

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

1.在主配置文件httpd.conf中找到Include conf/extra/httpd-vhosts.conf指令,將其注釋去掉或不帶注釋復制粘貼在這,作用是引入httpd-vhosts.conf文件2.在抽離的虛擬主機配置文件httpd-vhosts.conf中添加一個虛擬主機配置的節點:(這里可以添加多個虛擬主機節點來配置多個虛擬主機) <VirtualHost *:80>-----------------------------------------------------------虛擬主機的配置,綁定任意IP的80端口ServerAdmin webmaster@dummy-host.example.com-----------------------------自己的郵箱地址DocumentRoot F:/demo-----------------------------------------------------項目存放的根目錄<Directory F:/demo>------------------------------------------------------目錄權限設置Require all granted--------------------------------------------------解鎖所有的請求,授權Options Indexes FollowSymLinks---------------------------------------開啟目錄瀏覽AllowOverride None---------------------------------------------------不允許目錄內。htaccess文件覆蓋此處配置</Directory>ServerName day-01.io-----------------------------------------------------域名ServerAlias www.day-01.io------------------------------------------------另一個域名(別名)ErrorLog "logs/day-01.io-error.log"--------------------------------------錯誤日志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服務器上,這里需要在本地hosts文件中將域名解析到IP地址:C:\Windows\System32\drivers\etc文件夾中的hosts文件添加域名的指向:127.0.0.1(本地IP) myblog.com項目的域名4.重啟Apache,在瀏覽器搜索配置的域名進行測試。

靜態網站與動態網站:

請求響應:

瀏覽器請求網站到看到頁面做了什么?

用戶輸入網址—瀏覽器發送請求到服務器—服務器發送代碼給瀏覽器—瀏覽器接收代碼渲染網頁給用戶

1.用戶打開瀏覽器輸入網址的URL

2.瀏覽器通過DNS服務器獲取訪問的網站IP地址

3.瀏覽器發起對這個IP的請求

4.服務端接收到這個請求,進行相應的處理

5.服務端處理完的結果返回給用戶瀏覽器

6.瀏覽器將接收到的服務端的結果呈現到界面上

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

http協議:

HTTP(HyperText Transfer Protocol,超文本傳輸協議)的定義:最早是計算機與計算機之間溝通的一種標準協議,現在http應用于各種領域的端與端之間的通訊協議。

約定的內容:請求/響應報文格式 請求方法—GET/POST 響應狀態—200/404/302/304 預設請求/響應頭

約定的形式:

1.客戶端通過隨機端口與服務器的某個固定端口(一般為80端口)建立連接三次握手2.客戶端是通過這個連接 ‘發送請求(請求報文)’ 到服務端3.服務端監聽端口得到客戶端發送過來的請求4.服務端通過連接響應給客戶端狀態和內容(響應報文)

請求報文格式:請求行====>請求頭====>空行====>請求體

響應報文格式:狀態行====>響應頭====>空行====>響應體

通過header()實現文件下載:

header是用來設置響應頭的,里面Content-Type屬性可以判斷數據格式供瀏覽器處理,當Content-Type屬性的值設置為不識別的值時,文件就會被下載下來,如:

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

提示:本文圖片等素材來源于網絡,若有侵權,請發郵件至郵箱:810665436@qq.com聯系筆者刪除。
筆者:苦海

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。