<form id="dlljd"></form>
        <address id="dlljd"><address id="dlljd"><listing id="dlljd"></listing></address></address>

        <em id="dlljd"><form id="dlljd"></form></em>

          <address id="dlljd"></address>
            <noframes id="dlljd">

              聯系我們 - 廣告服務 - 聯系電話:
              您的當前位置: > 關注 > > 正文

              當前短訊!web服務器是什么?web服務器的概念與類型

              來源:CSDN 時間:2023-03-31 08:02:23

              服務:


              【資料圖】

              是運行在操作系統后臺的一個或多個程序,為用戶或系統提供某項特定的服務。服務配置最多的是網絡服務,網絡服務通常就是為其他用戶,其他計算機提供某項功能服務。

              1.web服務器的概念 Web服務器一般指網站服務器,是指駐留于因特網上某種類型計算機的程序,可以向瀏覽器等Web客戶端提供文檔,也可以放置網站文件,讓全世界瀏覽;可以放置數據文件,讓全世界下載。目前最主流的三個Web服務器是Apache和Microsoft的Internet信息服務器(Internet Information Services,IIS)unix nginx。

              1.1網頁、網頁文件和網站 網頁是網站的基本信息單位,是WWW的基本文檔。它由文字、圖片、動畫、聲音等多種媒體信息以及鏈接組成,是用HTML編寫的,通過鏈接實現與其他網頁或網站的關聯和跳轉。 網頁文件是用HTML(標準通用標記語言下的一個應用)編寫的,可在WWW上傳輸,能被瀏覽器識別顯示的文本文件。其擴展名是.htm和.html。 網站由眾多不同內容的網頁構成,網頁的內容可體現網站的全部功能。通常把進入網站首先看到的網頁稱為首頁或主頁(homepage),例如,新浪、網易、搜狐就是國內比較知名的大型門戶網站。

              1.2www 是環球信息網的縮寫,(亦作“Web”、“WWW”、“‘W3’”,英文全稱為“World Wide Web”),中文名字為“萬維網”,"環球網"等,常簡稱為Web。 分為Web客戶端和Web服務器程序。 WWW可以讓Web客戶端(常用瀏覽器)訪問瀏覽Web服務器上的頁面。 是一個由許多互相鏈接的超文本組成的系統,通過互聯網訪問。

              1.3Http (HyperText Transfer Protocal)超文本傳輸協議,是互聯網上最廣泛的一種網絡協議,所有的www文件都必須遵守這個標準。

              nihao xiaobai

              web服務器的類型:

              1.僅提供用戶瀏覽的單向靜態網頁 單純是由服務器單向提供數據給客戶端,Server不需要與client端有互動,所以你可以到該網站上去瀏覽,但是無法進行數據的上傳。 2.提供用戶互動接口的動態網站 這種類型的網站可以讓服務器與用戶互動,常見的例如留言板,博客。這種類型的網站需要通過“網頁程序語言”來實現與用戶互動的行為。常見的例如:PHP網頁程序語言,配合數據庫系統來進行數據的讀、寫。當你在向服務器請求數據時,其實是通過服務器端同一個網頁程序在負責將數據讀出或寫入數據庫,變動的是數據庫的內容,網頁程序并沒有任何改變。

              網址的意義:

              web服務器提供的這些數據大部分都是文件,那么我們需要在服務器端先將數據文件寫好,并且放置在某個特殊的目錄下面,這個目錄就是我們整個網站的首頁,在redhat中,這個目錄默認在/var/www/html。瀏覽器是通過你在地址欄中輸入你所需要的網址來取得這個目錄的數據的。 URL:Uniform Resource Locator,統一資源定位符,對可以從互聯網上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯網上標準資源的地址。 <協議>://<主機地址或主機名>[:port]/<目錄資源,路徑> 瀏覽器常支持的協議有:http、https、ftp等。 主機地址或者主機名:主機地址就是服務器在因特網所在的IP地址。如果是主機名的話,那么就需要域名解析了。 端口:http為80。https為443。 IANA:互聯網數字分配機構 0-1023:眾所周知,永久地分配給固定的應用程序使用,特權端口(只有管理員有權限啟用并讓進程監聽); 1024-41951:亦為注冊端口,但要求不是特別嚴格,分配給程序注冊為某應用使用:3306/TCP 41952-60000:客戶端程序隨機使用的端口,動態端口,或私有端口;

              http協議運行原理

              1)、Web瀏覽器使用HTTP命令向一個特定的服務器發出Web頁面請求。 2)、若該服務器在特定端口(通常是TCP 80端口)處接收到Web頁面請求后,就發送一個應答并在客戶和服務器之間建立連接。 3)、服務器Web查找客戶端所需文檔,若Web服務器查找到所請求的文檔,就會將所請求的文檔傳送給Web瀏覽器。若該文檔不存在,則服務器會發送一個相應的錯誤提示文檔給客戶端。 4)、Web瀏覽器接收到文檔后,就將它顯示出來。 5)、當客戶端瀏覽完成后,就斷開與服務器的連接。

              瀏覽器與服務器之間傳遞數據的方法:

              狀態代碼由三位數字組成,第一個數字定義了響應的類別,且有五種可能取值。 1xx:指示信息 —— 表示請求已接收,繼續處理。 2xx:成功 —— 表示請求已被成功接收、理解、接受。 3xx:重定向 —— 要完成請求必須進行更進一步的操作。 4xx:客戶端錯誤 —— 請求有語法錯誤或請求無法實現。 5xx:服務器端錯誤 —— 服務器未能實現合法的請求。 常見狀態代碼、狀態描述的說明如下。 200 OK:客戶端請求成功。 400 Bad Request:客戶端請求有語法錯誤,不能被服務器所理解。 401 Unauthorized:請求未經授權,這個狀態代碼必須和 WWW-Authenticate 報頭域一起使用。 403 Forbidden:服務器收到請求,但是拒絕提供服務。 404 Not Found:請求資源不存在,舉個例子:輸入了錯誤的URL。 500 Internal Server Error:服務器發生不可預期的錯誤。 503 Server Unavailable:服務器當前不能處理客戶端的請求,一段時間后可能恢復正常。

              web網站搭建

              搭建流程(思路) |——搭建環境: |——搭建架構C/S |——(客戶端)-網站訪問格式: |——(服務端) 3.1.2 服務搭建執行命令框架 |——安裝軟件包 |——啟用服務 |——設置防火墻,selinux規則策略 |——配置服務,設置訪問信息(根據需求設置訪問格式,訪問內容) |——重啟服務 |——通過客戶端測試 1.yum install httpd 安裝軟件包 2.systemctl start httpd 啟用服務 3.systemctl stop firewalld 關閉防火墻 setenfoce 0 關閉selinux 4.vim /etc/httpd/conf.d/vhosts.conf 設置主機訪問目錄,以及目錄權限 vim /var/www/html/index.html 定義網站資源信息 5.systemctl restart httpd 重啟服務 6.打開瀏覽器通過http://ip 通過指定格式訪問測試,是否滿足需求

              web服務器基本配置以及常用文件目錄介紹

              ①搭建靜態網站——基于http協議的靜態網站 服務器端:在linux上面實現網頁服務器需要Apache這套服務器軟件,httpd提供Apache主程序。 http://httpd.apache.org/docs/2.4/ 安裝軟件: [root@localhost ~]# yum install httpd -y [root@localhost ~]# rpm -ql httpd [root@localhost httpd]# tree /etc/httpd /etc/httpd ├── conf │ ├── httpd.conf │ └── magic ├── conf.d │ ├── autoindex.conf │ ├── README │ ├── userdir.conf │ └── welcome.conf ├── conf.modules.d │ ├── 00-base.conf │ ├── 00-dav.conf │ ├── 00-lua.conf │ ├── 00-mpm.conf │ ├── 00-proxy.conf │ ├── 00-systemd.conf │ └── 01-cgi.conf ├── logs -> …/…/var/log/httpd ├── modules -> …/…/usr/lib64/httpd/modules └── run -> /run/httpd 1./etc/httpd/conf/httpd.conf 主要的配置文件 。 2./etc/httpd/conf.d/*.conf 額外的參數文件。如果你不想要修改原始配置文件httpd.conf的話,那么你可以將你自己的額外參數文件獨立出來,例如你想要有自己的額外設置值,可以將它寫入/etc/httpd/conf.d/zhuji.conf(注意,擴展名一定是.conf),而啟動Apache時,這個文件就會被讀入主要配置文件當中了。 3./var/www/html/這就是默認的首頁所在目錄,當輸入網址時所顯示的數據,就是放在這個目錄當中的首頁文件(默認為index.html)。 4./var/www/cgi-bin/默認給一些可執行的CGI(網頁程序)程序放置的目錄,當輸入網址/cgi-bin/時所顯示的數據所在。 5./var/log/httpd/默認的Apache日志文件都放在這里,對于流量比較大的網站來說,一個星期的日志文件的數據可以達到1GB左右。 啟動腳本:/usr/lib/systemd/system/httpd.service 使用端口:80(http),443(https) [root@localhost httpd]# netstat -tlnup | grep 80

              主配置文件內容:[root@localhost ~]# vim /etc/httpd/conf/httpd.conf

              31   ServerRoot "/etc/httpd"                 http服務的頂級目錄為/etc/httpd42 Listen 80監聽在80端口,80為web服務器的默認端口56 Include conf.modules.d/*.conf     包括/etc/httpd/conf.modules.d/*.conf的所有文件66 User apache服務的用戶(ps -ef | grep httpd,先以root用戶把/usr/sbin/httpd服務啟動起來)。啟動服務后轉換的身份,在啟動服務時通常以root身份,然后轉換身份,這樣增加系統安全67 Group apache86 ServerAdmin root@localhost你的郵箱,有事的時候給你發郵件95 #ServerName www.example.com:80    ServerName 0.0.0.0:80匹配任意IP地址,監聽端口在80端口默認是不需要指定的,服務器通過名字解析過程來獲得自己的名字,但如果解析有問題(如反向解析不正確),或者沒有DNS名字,也可以在這里指定ip地址,當這項不正確的時候服務器不能正常啟動。解決辦法就是啟動該項把www.example.com:80修改為自己的域名或者直接修改為localhost 102目錄為根,<>為起始標志,為結束標志103     AllowOverride none 不允許這個目錄下的訪問控制文件來改變這里的配置,這也意味著不用查看這個目錄下的訪問控制文件。104     Require all denied 拒絕訪問根105和是一組標簽,目錄控制容器 119 DocumentRoot "/var/www/html"網頁文件存放的目錄 124125     AllowOverride None126     # Allow open access:127     Require all granted128131144     Options Indexes FollowSymLinks   索引,跟蹤軟鏈接151     AllowOverride None156     Require all granted157163加載一個目錄模塊164     DirectoryIndex index.html165171不能訪問172     Require all denied173182 ErrorLog "logs/error_log" 189 LogLevel warn 191日志配置模塊 /var/log/httpd,日志模塊:通過時間節點去記錄(man date)196     LogFormat "%h %l %u %t \"%r\" %>s %b \"%{    Referer}i\" \"%{User-Agent}i\"" combined197     LogFormat "%h %l %u %t \"%r\" %>s %b" com    mon198 199201       LogFormat "%h %l %u %t \"%r\" %>s %b \"    %{Referer}i\" \"%{User-Agent}i\" %I %O" combi    nedio202217     CustomLog "logs/access_log" combined218220別名模塊247     ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"249cgi(通用網關接口)是web服務器運行時外部程序的規范,按cgi編寫的程序可以擴展服務器的功能。cgi應用程序能與瀏覽器進行交互,還可通過數據庫API與數據庫服務器等外部數據源進行通信,從數據庫服務器中獲取數據  255256     AllowOverride None257     Options None258     Require all granted259261多用途互聯網郵件擴展模塊266     TypesConfig /etc/mime.types283     AddType application/x-compress .Z284     AddType application/x-gzip .gz .tgz305     AddType text/html .shtml306     AddOutputFilter INCLUDES .shtml307mime多用途互聯網郵件擴展類型,是設定某種擴展名的文件用一種應用程序來打開的方式類型,當該擴展名文件被訪問時,瀏覽器會自動使用指定應用程序來打開。多用于指定一些客戶端自定義的文件名,以及一些媒體文件打開方式。  316 AddDefaultCharset UTF-8  默認字符集  318324     MIMEMagicFile conf/magic325348 EnableSendfile on353 IncludeOptional conf.d/*.conf

              httpd.conf配置文件主要由3個部分組成 Global Environment 全局環境 Main Server Configuration主服務器配置 Virtual hosts虛擬主機 (每部分都有相應的配置語句,該文件所有配置語句的語法為“配置參數名稱 參數值”的形式。 httpd.conf的配置語句除了選項的參數值以外,所有選項指令均不區分大小寫,可以在每一行前用“#”號表示注釋。 全局配置的相關參數,全局的參數一般不用改動 ) 配置路徑: /etc/httpd/* 主配置目錄: /etc/httpd/conf 子配置目錄: /etc/httpd/conf.d(apache是一個模塊化的一個配置服務,所以我們可以根據每個模塊進行一些配置,不僅對程序本身進行模塊化配置對配置文件也進行了模塊化配置)

              服務器的搭建

              1.默認http訪問界面 2.http訪問靜態界面ServerAdmin webmaster@dummy-host2.example.com DocumentRoot “@@ServerRoot@@/docs/dummy-host2.example.com” ServerName dummy-host2.example.com ErrorLog “/var/log/httpd/dummy-host2.example.com-error_log” CustomLog “/var/log/httpd/dummy-host2.example.com-access_log” common

              3.基于ip地址對web服務器訪問

              第一步:配置網絡:[root@localhost ~]# nmcli connection modify eno16777736 ipv4.addresses 192.168.10.100/24 ipv4.gateway 192.168.10.1 ipv4.dns 114.114.114.114 ipv4.method  manual connection.autoconnect yes[root@localhost ~]# nmcli connection modify eno16777736 +ipv4.addresses 192.168.10.200/24 ipv4.gateway 192.168.10.1 ipv4.dns 114.114.114.114 ipv4.method  manual connection.autoconnect yes[root@localhost ~]# nmcli connection up eno16777736 成功激活的連接(D-Bus 激活路徑:/org/freedesktop/NetworkManager/ActiveConnection/12)第二步:編輯配置文件:[root@localhost ~]# mkdir /www/{100,200} -pv mkdir: 已創建目錄 "/www/100"mkdir: 已創建目錄 "/www/200"[root@localhost ~]# echo this is 192.168.10.100 > /www/100/index.html[root@localhost ~]# echo this is 192.168.10.200 > /www/200/index.html vim /etc/httpd/conf.d/vhosts.confAllowOverride none    ----允許覆蓋Require all granted         -----設置訪問目錄權限DocumentRoot /www/100       -------指定當前主機訪問網站根目錄ServerName 192.168.10.100 ----指定訪問網站名稱ServerAdmin  root@localhostErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"    ---錯誤日志CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common   ---訪問日志DocumentRoot /www/200        ServerName 192.168.10.200        ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"        CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common[root@localhost ~]# systemctl restart httpd  測試[root@localhost ~]# curl http://192.168.10.200this is 192.168.10.200[root@localhost ~]# curl http://192.168.10.100this is 192.168.10.100

              4.基于端口 基于不同端口訪問不同網站 建立一個網站,文件存放在/WWW/80,內容顯示為the port is 80; 建立一個網站,文件存放在/www/10000,內容顯示為the port is 10000; 配置如下: LISTEN 10000DocumentRoot /www/200 ServerName 192.168.10.200 ErrorLog “/var/log/httpd/dummy-host2.example.com-error_log” CustomLog “/var/log/httpd/dummy-host2.example.com-access_log” common

              5.基于域名 基于域名的網站,需要用到域名解析。域名------->ip地址 瀏覽器如何通過域名去查詢URL對應的IP(對應服務器地址): 1、瀏覽器緩存:瀏覽器會按照一定的頻率緩存DNS記錄。 2、操作系統緩存:如果瀏覽器緩存中找不到需要的DNS記錄,那就去操作系統中的hosts文件找。hosts是一個沒有擴展名的系統文件,其作用就是將一些常用的網址域名與其對應的IP地址建立一個關聯"數據庫",當用戶在瀏覽器中輸入一個需要登錄的網址時,系統會首先自動從Hosts文件中尋找對應的IP地址,一旦找到,系統會立即打開對應網頁,如果沒有找到,則系統會再將網址提交DNS域名解析服務器進行IP地址的解析。 windows下的hosts文件路徑:C:\Windows\System32\drivers\etc\hosts Linux下的hosts文件路徑:/etc/hosts 3、路由緩存:路由器也有DNS緩存。 4、ISP的DNS服務器:ISP是互聯網服務提供商(Internet Service Provider)的簡稱,ISP有專門的DNS服務器應對DNS查詢請求。 5、根服務器:ISP的DNS服務器還找不到的話,它就會向根服務器發出請求,進行遞歸查詢(DNS服務器先問根域名服務器.com域名服務器的IP地址,然后再問.com域名服務器,依次類推)。 1、新建一個網站,域名為www.haha.com,同時可通過www1.haha.com訪問,文件存放在/www/haha目錄,網頁內容為This is www.haha.com. 2、新建一個網站,域名為www.xixi.com,文件存放在/www/xixi 配置方法如下:

              [root@localhost ~]# cat /etc/httpd/conf.d/vhosts.confAllowOverride none Require all grantedDocumentRoot /www/100ServerName 192.168.10.100        ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"        CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" commonLISTEN 10000DocumentRoot /www/200ServerName 192.168.10.200        ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"        CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" commonDocumentRoot /www/hahaServerName www.haha.comServerAlias www1.haha.com        ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"        CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" commonDocumentRoot /www/xixiServerName www.xixi.com        ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log"        CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" commonVim /etc/hosts192.168.10.100  www.xixi.com192.168.10.200 www.haha.com windows:C:\Windows\System32\drivers\etc\hostsLinux /etc/hosts

              6.SSL認證 ①搭建靜態網站——基于https協議的靜態網站 超文本傳輸協議HTTP協議被用于在Web瀏覽器和網站服務器之間傳遞信息。HTTP協議以明文方式發送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的信息,因此HTTP協議不適合傳輸一些敏感信息,比如信用卡號、密碼等。為了解決HTTP協議的這一缺陷,需要使用另一種協議:安全套接字層超文本傳輸協議HTTPS。 HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本傳輸安全協議),是以安全為目標的HTTP通道。HTTPS并不是一個新協議,而是HTTP+SSL(TLS)。原本HTTP先和TCP(假定傳輸層是TCP協議)直接通信,而加了SSL后,就變成HTTP先和SSL通信,再由SSL和TCP通信,相當于SSL被嵌在了HTTP和TCP之間。 SSL Secure Socket Layer,為Netscape所研發,用以保障在Internet上數據傳輸之安全,利用數據加密(Encryption)技術,可確保數據在網絡上之傳輸過程中不會被截取及竊聽。一般通用之規格為40 bit之安全標準,美國則已推出128 bit之更高安全標準,但限制出境。只要3.0版本以上之I.E.或Netscape瀏覽器即可支持SSL。 當前版本為3.0。它已被廣泛地用于Web瀏覽器與服務器之間的身份認證和加密數據傳輸。 SSL協議位于TCP/IP協議與各種應用層協議之間,為數據通訊提供安全支持。SSL協議可分為兩層: SSL記錄協議(SSL Record Protocol):它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供數據封裝、壓縮、加密等基本功能的支持。 SSL握手協議(SSL Handshake Protocol):它建立在SSL記錄協議之上,用于在實際的數據傳輸開始前,通訊雙方進行身份認證、協商加密算法、交換加密密鑰等。 ssl提供服務 1)認證用戶和服務器,確保數據發送到正確的客戶機和服務器; 2)加密數據以防止數據中途被竊??; 3)維護數據的完整性,確保數據在傳輸過程中不被改變。

              共享密鑰加密(對稱密鑰加密):加密和解密同用一個密鑰。加密時就必須將密鑰傳送給對方,那么如何安全的傳輸呢? 公開密鑰加密(非對稱密鑰加密):公開密鑰加密使用一對非對稱的密鑰。一把叫做私有密鑰,一把叫做公開密鑰。私有密鑰不能讓其他任何人知道,而公開密鑰則可以隨意發布,任何人都可以獲得。使用此加密方式,發送密文的一方使用公開密鑰進行加密處理,對方收到被加密的信息后,再使用自己的私有密鑰進行解密。利用這種方式,不需要發送用來解密的私有密鑰,也不必擔心密鑰被攻擊者竊聽盜走 但由于公開密鑰比共享密鑰要慢,所以我們就需要綜合一下他們兩者的優缺點,使他們共同使用,而這也是HTTPS采用的加密方式。在交換密鑰階段使用公開密鑰加密方式,之后建立通信交換報文階段則使用共享密鑰加密方式。

              這里就有一個問題,如何證明公開密鑰本省是貨真價實的公開密鑰。如,正準備和某臺服務器建立公開密鑰加密方式下的通信時,如何證明收到的公開密鑰就是原本預想的那臺服務器發行的公開密鑰。或許在公開密鑰傳輸過程中,真正的公開密鑰已經被攻擊者替換掉了。這個時候就需要第三方公證單位來幫忙啦。 CA就是一個公認的公證單位,你可以自行產生一把密鑰且制作出必要的證書數據并向CA單位注冊,那么當客戶端的瀏覽器在瀏覽時,該瀏覽器會主動向CA單位確認該證書是否為合法注冊過,如果是,那么該次連接才會建立,如果不是,瀏覽器會發出警告信息,告知用戶應避免建立連接。所以說,如此一來WWW服務器不但有公證單位的證書,用戶在建立連接時也比較有保障。 接收到證書的客戶端可以使用數字證書認證機構的公開密鑰,對那張證書上的數字簽名進行驗證,一旦驗證通過,客戶端便可以明確兩件事:

              一、認證服務器的公開密鑰的是真實有效的數字證書認證機構。 二、服務器的公開密鑰是值得信賴的。 此處認證機關的公開密鑰必須安全地轉交給客戶端。使用通信方式時,如何安全轉交是一件很困難的事,因此,多數瀏覽器開發商發布版本時,會事先在內部植入常用認證機關的公開密鑰。

              服務器把自己的公開密鑰登錄至數字證書認證機構。數字證書認證機構用自己的私有密鑰向服務器的公開密鑰署數字簽名并頒發公鑰證書??蛻舳四玫椒掌鞯墓€證書后,使用數字簽名認證機構的公開密鑰,向數字證書認證機構驗證公鑰證書上的數字簽名,以確認服務器的公開密鑰的真實性。使用服務器的公開密鑰對報文加密后發送。服務器用私有密鑰對報文解密。 7. 虛擬目錄的作用: 為了便于對網站資源進行靈活管理,還可以把這些文件存放在本地計算機的其它文件夾中或者其它計算機的共享文件夾中,然后再把這個文件夾映射到網站主目錄中的一個文件夾上,這個文件夾被稱為“虛擬目錄”。 每個虛擬目錄都有一個別名,這樣用戶就可以通過這個虛擬目錄的別名來訪問與之對應的真實文件夾中的資源了。虛擬目錄的好處是在不需要改變別名的情況下,可以隨時改變其對應的文件夾。

              原理: WEB服務器上的每個WEB站點必須設置有不同的標識信息 WEB瀏覽器發出的連接和請求信息中包含WEB站點的標識信息 WEB站點的標識信息: IP地址、端口號、主機名

              責任編輯:

              標簽:

              相關推薦:

              精彩放送:

              新聞聚焦
              Top 中文字幕在线观看亚洲日韩