問鼎web服務

華子目錄

  • www簡介
    • 常見Web服務程序介紹:
    • 服務器主機
    • 主要數據
    • 瀏覽器
    • 網址及http介紹
      • url
      • http請求方法
    • http協議請求的工作流程
    • www服務器類型
      • 靜態網站
      • 動態網站
  • 快速安裝Apache
    • 安裝
    • 準備工作
    • httpd所需目錄
    • 主配置文件
  • 實驗操作

www簡介

  • Web網絡服務也叫www(world wide web全球信息廣播)萬維網服務,一般是指能夠讓用戶通過瀏覽器訪問到互聯網中文檔等資源的服務
  • Web網絡服務是一種被動訪問的服務程序,即只有接收到互聯網中其他主機發送的請求后才會響應,最終用于提供服務程序的Web服務器會通過http(超文本傳輸協議)或https(完全超文本傳輸協議)把請求的內容傳送給用戶,如圖:
    在這里插入圖片描述

常見Web服務程序介紹:

  • IIS:Windows系統中默認Web服務程序是IIS(Internet Information Services),這是一款圖形化的網站管理工具,IIS程序不光能提供Web網站服務,還能夠提供FTP,NMTP,SMTP等服務功能,但只能在Windows系統中使用。
    在這里插入圖片描述
  • Nginx:2004年10月4日,為俄羅斯知名門戶站點而開發的Web服務程序Nginx橫空出世。Nginx程序作為一款輕量級的網站服務軟件,因其穩定性和豐富的功能而快速占領服務器市場,但是Nginx最終被認可的還是其低系統資源占用,內存少且并發能力強,因此得到了國內諸如新浪,網易,騰訊等門戶站的青睞
    在這里插入圖片描述
  • Apache:取自美國印第安人土著語Apache,寓意著擁有高超的作戰策略和無窮的耐性,由于其跨平臺和安全性廣泛被認可且擁有快速,可靠,簡單的API擴展。目前擁有很高的Web服務軟件市場占用率,全球使用最多的Web服務軟件,開源,跨平臺(可運行于Unix,Linux,Windows中)
    在這里插入圖片描述
  • Tomcat:屬于輕量級的Web服務軟件,一般用于開發的調試JSP代碼,通常認為Tomcat是Apache的擴展程序
    在這里插入圖片描述

服務器主機

  • 網站是由域名,網頁源程序和主機空間組成的,其中主機空間則是用于存放網頁源代碼并能夠將網頁內容展示給用戶,雖然本小節與Apache服務沒有直接關系,但如果您想要在互聯網中搭建網站并被順利訪問,主機空間一定不能選錯
    在這里插入圖片描述
  • 虛擬主機:在一臺服務器中分出一定的磁盤空間供用戶放置網站,存放數據等,僅提供基礎的網站訪問,數據存放與傳輸流量功能,能夠極大的降低用戶費用,也幾乎不需要管理員維護除網站數據以外的服務,適合小型網站
  • VPS(Virtual Private Server):在一臺服務器中利用OpenVZ,Xen或KVM等虛擬技術模擬出多個主機,每個主機都有獨立的ip地址,操作系統,實現不同VPS之間磁盤空間,內存,CPU資源,進程與系統配置間的完全隔離,管理員可自由使用分配到的主機中的所有資源,所以需要有一定的維護系統能力,適合小型網站。
  • 云服務器(ECS):是一種整合了計算,存儲,網絡,能夠做到彈性伸縮的計算服務,其使用起來與VPS幾乎一樣,但差別是云服務器建立在一組集群服務器中,每個服務器都會保存一個主機的鏡像(備份),大大的提升了安全穩定性,另外還具備了靈活性與擴展性,用戶只需按使用量付費的即可,適合大中小型網站。
  • 獨立服務器:這臺服務器僅提供給您使用,詳細來講又可以區分為租用方式與托管方式。
    • 租用方式:用戶只需將硬件配置要求告知IDC服務商,服務器硬件設備由機房負責維護,運維管理員一般需要自行安裝相應的軟件并部署網站服務,租期可以為月、季、年,減輕了用戶初期對硬件設備的投入,適合大中型網站。
    • 托管方式:用戶需要自行購置服務器后交給IDC服務供應商的機房進行管理(繳納管理服務費用),用戶對服務器硬件配置有完全的控制權,自主性強,但需要自行維護、修理服務器硬件設備,適合大中型網站。
    • 另外有必要提醒,選擇主機空間供應商時請一定要注意看口碑,綜合分析再決定購買,某些供應商會有限制功能、強制添加廣告、隱藏扣費或強制扣費等惡劣行為,一定一定不要上當!

主要數據

  • 服務器所提供的最主要數據是超文本標記語言(Hyper Text Markup Language,HTML),多媒體文件(圖片,影像,聲音,文字等都屬于多媒體或稱為超媒體),HTML只是一些純文本數據,通過所謂的標記來規范所要顯示的數據格式

瀏覽器

  • 客戶端收到服務器的數據之后需要軟件解析服務器所提供的數據,最后將效果呈現在用戶的屏幕上。
  • 那么著名的瀏覽器就有內建在Windows操作系統內的IE瀏覽器(淘汰)和Microsoft Edge,還有Firefox瀏覽器和Google的chrome瀏覽器

網址及http介紹

  • Web服務器提供的這些數據大部分都是文件,那么我們需要在服務器端先將數據文件寫好,并且放置在某個特殊的目錄下面,這個目錄就是我們整個網站的首頁,通常這個目錄默認在/var/www/html
  • 瀏覽器是通過你在地址欄中輸入你所需要的網址來取到這個目錄的數據

url

  • Uniform Resource Locator,統一資源定位符,對可以從互聯網上得到的資源的位置和訪問方法的一種簡潔的表示,是互聯網上標準資源的地址。
  • 網址格式:<協議>://<主機或主機名>[:port]/<目錄資源,路徑>
  • 協議:http,https,ftp等
  • 主機地址或者主機名:主機地址就是服務器在因特網所在的IP地址。如果是主機名的話,那么就需要域名解析了
  • 端口號(port):http為80,https為443 (IANA:互聯網數字分配機構)
    • 0-1023:永久地分配給固定的應用程序使用
    • 1024-41951:注冊端口,但要求不是特別嚴格,分配給程序注冊為某應用使用
    • 41952-60000:客戶端程序隨機使用的端口,動態端口,或私有端口

http請求方法

  • 在http通信中,每個http請求報文都包含一個方法,用以告訴web服務器端需要執行哪些具體的動作,這些動作包括:獲取指定web頁面、提交內容到服務器、刪除服務器上資源文件等。
    在這里插入圖片描述

  • 狀態碼:由三位數字組成,第一個數字定義了響應的類別,且有五種可能取值

    • 1xx:表示請求已接收,繼續處理
    • 2xx:表示請求已被成功接收,理解
    • 3xx:表示要完成請求必須進行更進一步的操作
    • 4xx:表示請求又語法錯誤或請求無法實現
    • 5xx:表示服務器未能實現合法的請求
  • 常見狀態碼:

    • 200:客戶端請求成功
    • 400:客戶端請求有語法錯誤
    • 401:請求未經授權
    • 403:服務器收到請求,但拒絕服務
    • 404:請求資源不存在
    • 500:服務器發生不可預期的錯誤
    • 503:服務器當前不能處理客戶端的請求,一段時間后可能恢復正常

http協議請求的工作流程

  • 終端客戶在web瀏覽器地址欄輸入訪問地址http://www.ceshi.com:80/index.html
  • web瀏覽器請求DNS服務器把域名www.ceshi.com解析成web服務器的IP地址
  • web瀏覽器將端口號(默認是80)從訪問地址(URL)中解析出來
  • web瀏覽器通過解析后的ip地址及端口號與web服務器之間建立一條TCP連接
  • 建立TCP連接后,web瀏覽器向web服務器發送一條HTTP請求報文
  • web服務器響應并讀取瀏覽器的請求信息,然后返回一條HTTP響應報文
  • web服務器關閉HTTP連接,關閉TCP連接,web瀏覽器顯示訪問的網站內容到屏幕上

www服務器類型

靜態網站

  • 僅提供用戶瀏覽的單向靜態網頁,單純是由服務器單向提供數據給客戶端,Server不需要與client端有互動,可以瀏覽網站,但是無法數據上傳。

動態網站

  • 該站可以讓服務器與用戶互動,常見的例如留言板,博客。這種類型的網站需要通過“網頁程序語言”來實現與用戶互動的行為。常見的例如:PHP網頁程序語言,配合數據庫系統來進行數據的讀、寫。當你在向服務器請求數據時,其實是通過服務器端同一個網頁程序在負責將數據讀出或寫入數據庫,變動的是數據庫的內容,網頁程序并沒有任何改變
  • 另外一種交互式的動態網頁主要是在客戶端實現。服務端將可執行的程序代碼(JavaScript)傳送給客戶端,客戶端的瀏覽器如果提供JavaScript的功能,那么該程序就可以在客戶端的計算機上面工作了;另外一種可在客戶端執行的就是flash動畫格式,在這種動畫格式內還可以進行程序設計
  • 搭建動態網站的需求:LAMP(Linux+Apache+MySQL+PHP)
    • Apache主要提供www的服務器平臺
    • MySQL:傳統的文件讀取是很麻煩的,如果只要讀取該文件當中的一小部分,系統還是會將整個文件讀出來,若多個用戶同時讀取同一個文件時,那就會造成效率與系統上的問題,所以才會有數據庫系統的推出。數據庫其實是一種特殊格式的文件,這種文件要通過特殊接口(數據庫軟件)來進行讀寫。由于這個特殊接口已經針對數據的查詢、寫入做過優化設計,因此很適合多人同時寫入與查詢工作
    • PHP:PHP可以被用來建立動態網頁,PHP程序代碼可以直接在HTML網頁當中嵌入,就像編輯HTML網頁一樣簡單。PHP是一種“程序語言”,這種程序語言可以直接在網頁當中編寫,不需要經過編譯即可執行

快速安裝Apache

安裝

[root@server ~]# yum install httpd -y

準備工作

[root@server ~]# setenforce  0[root@server ~]# systemctl stop firewalld[root@server ~]# systemctl start httpd[root@server ~]# systemctl enable httpd[root@server ~]# systemctl status  httpd

httpd所需目錄

[root@server ~]# cd  /etc/httpd    # 主配置文件所在目錄[root@server ~]# vim /etc/httpd/conf/httpd.conf  # 主配置文件[root@server ~]# cd /var/www/html  # 存儲默認網頁的目錄[root@server ~]# cd  /var/log/httpd   # 存儲網站訪問日志和錯誤日志的目錄

主配置文件

[root@server ~]# vim   /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd"  # 服務目錄
#Listen 12.34.56.78:80   # 設置監聽的ip地址及端口
Listen 80  # 默認開啟監聽端口為80
Include conf.modules.d/*.conf  # 加載額外配置文件
User apache # 運行服務的用戶
Group apache  # 運行服務的工作組
ServerAdmin root@localhost  # 管理者的郵箱
#ServerName www.example.com:80  # 設置域名及端口號,必須要有域名解析
<Directory /> # <>表示起始標志,</>表示結束標志
# 設置目錄的權限,當瀏覽器中輸入url地址后,若訪問服務器某目錄下的某個文件,必須要設置其權限,保證數據的安全性
# AllowOverride:是否允許權限覆蓋,如果有額外的權限文件,是否允許額外文件來對當前Directory進行權限覆蓋AllowOverride none  # 不允許覆蓋Require all denied  # 禁止所有來源訪問文件或目錄# Require all granted  # 允許所有來源訪問
</Directory>DocumentRoot "/var/www/html"  # 網頁存放的默認目錄
<Directory "/var/www">  # 設置網頁的權限,與DocumentRoot搭配使用AllowOverride None# Allow open access:Require all granted
</Directory>

實驗操作

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160354.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160354.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160354.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

編碼的發展歷史

編碼的發展歷史 ASCII&#xff1a; ASCII編碼使用7位二進制數表示一個字符&#xff0c;范圍從0到127。每個字符都有一個唯一的ASCII碼值與之對應。例如&#xff0c;大寫字母"A"的ASCII碼是65&#xff0c;小寫字母"a"的ASCII碼是97。 ASCII字符集包括英文…

linux服務器安裝gitlab

一、安裝gitlab sudo yum install curl policycoreutils-python openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo firewall-cmd --permanent --add-servicehttp curl https://packages.gitlab.com/install/repositories/gitla…

LabVIEW中將SMU信號連接到PXI背板觸發線

LabVIEW中將SMU信號連接到PXI背板觸發線 本文介紹如何將信號從PXI&#xff08;e&#xff09;SMU卡路由到PXI&#xff08;e&#xff09;機箱上的背板觸發線。該過程涉及使用NI-DCPowerVI將SMU信號導出到PXI_TRIG線上。 在繼續操作之前&#xff0c;請確保在開發PC上安裝了兼容版…

MySQL啟動MySQL8.0并指定配置文件

MySQL啟動MySQL8.0并指定配置文件 mkdir -p /mysql8hello/config ; mkdir -p /mysql8hello/data ; mkdir -p /mysql8hello/logs; mkdir -p /mysql8hello/conf; vim /mysql8hello/config/my.cnf; # 啟動報錯就修改成777&#xff0c;但是會提示風險 chmod 644 /mysql8hello/co…

d3dx9_43.dll缺失怎么辦?教你一分鐘修復d3dx9_43.dll丟失問題

今天&#xff0c;與大家分享關于“d3dx9_43.dll丟失的5個解決方法”的主題。在我們的日常生活和工作中&#xff0c;我們可能會遇到各種各樣的問題&#xff0c;而d3dx9_43.dll丟失就是其中之一。那么&#xff0c;什么是d3dx9_43.dll呢&#xff1f;它為什么會丟失&#xff1f;又該…

【LeetCode刷題-鏈表】--25.K個一組翻轉鏈表

25.K個一組翻轉鏈表 思路&#xff1a; 把鏈表節點按照k個一組分組&#xff0c;可以使用一個指針head依次指向每組的頭節點&#xff0c;這個指針每次向前移動k步&#xff0c;直至鏈表結尾&#xff0c;對于每個分組&#xff0c; 先判斷它的長度是否大于等于k&#xff0c;若是&am…

什么是Zero-shot(零次學習)

1 Zero-shot介紹 Zero-shot學習&#xff08;ZSL&#xff09;是機器學習領域的一種先進方法&#xff0c;它旨在使模型能夠識別、分類或理解在訓練過程中未見過的類別或概念。這種學習方法對于解決現實世界中常見的長尾分布問題至關重要&#xff0c;即對于一些罕見或未知類別的樣…

商務俄語學習,柯橋基礎入門教學,千萬別小看俄語中的“что”

1、что до (чего) 至于 例&#xff1a; что до меня, то я не могу согласиться 至于我&#xff0c;我不能同意。 А что до зимовки... Ты приедешь в этом году? 說到冬天和過冬…你今年回來嗎…

在windows筆記本中安裝tensorflow1.13.2版本的gpu環境2

tensorflow1.13.2版本的gpu環境 看python-anacona的安裝只需要看1.1部分即可 目錄 1.1 Anaconda安裝 1.2 tensorflow-gpu安裝 1.3 python編譯器-pycharm安裝 1.1 Anaconda安裝 從鏡像源處下載anaconda&#xff0c;地址&#xff1a;Index of /anaconda/archive/ | 北京…

PTA-6-45 工廠設計模式-運輸工具

題目如下&#xff1a; 工廠類用于根據客戶提交的需求生產產品&#xff08;火車、汽車或拖拉機&#xff09;。火車類有兩個子類屬性&#xff1a;車次和節數。拖拉機類有1個子類方法耕地&#xff0c;方法只需簡單輸出“拖拉機在耕地”。為了簡化程序設計&#xff0c;所有…

基于docker實現JMeter分布式壓測

為什么需要分布式&#xff1f; 在工作中經常需要對一些關鍵接口做高QPS的壓測&#xff0c;JMeter是由Java 語言開發&#xff0c;沒創建一個線程&#xff08;虛擬用戶&#xff09;&#xff0c;JVM默認會為每個線程分配1M的堆棧內存空間。受限于單臺試壓機的配置很難實現太高的并…

LeetCode59.螺旋矩陣

LeetCode59.螺旋矩陣 1.問題描述2.解題思路3.代碼 1.問題描述 給你一個正整數 n &#xff0c;生成一個包含 1 到 n2 所有元素&#xff0c;且元素按順時針順序螺旋排列的 n x n 正方形矩陣 matrix 。 示例 1&#xff1a; 輸入&#xff1a;n 3 輸出&#xff1a;[[1,2,3],[8,9,…

Codeforces Round 822 (Div. 2)(D前綴和+貪心加血量)

A.選三條相鄰的邊遍歷一次求最小值 #include<bits/stdc.h> using namespace std; const int N 1e610,mod1e97; #define int long long int n,m; vector<int> g[N]; int a[N]; void solve() {cin>>n;int res2e18;for(int i1;i<n;i) cin>>a[i];sort…

談一談什么是接口測試?怎樣做接口測試?

掃盲內容&#xff1a; 1.什么是接口&#xff1f; 2.接口都有哪些類型&#xff1f; 3.接口的本質是什么&#xff1f; 4.什么是接口測試&#xff1f; 5.問什么要做接口測試&#xff1f; 6.怎樣做接口測試&#xff1f; 7.接口測測試點是什么&#xff1f; 8.接口測試都要掌…

童裝店鋪如何通過軟文增加客流量

在信息超負載、媒介粉塵化、產品同質化多重因素下&#xff0c;傳統營銷疲態盡顯、日漸式微&#xff0c;很難支撐新環境下品牌和企業的持續增長。聚焦童裝行業更是如此&#xff0c;一方面用戶迭代速度快&#xff0c;另一方面&#xff0c;新時代父母的育兒觀念更加精細化&#xf…

安裝pytorch

cuda≤11.6&#xff0c;觀察控制面板 觀察torch對應cuda版本 https://download.pytorch.org/whl/torch/ 安裝cuda11.6.0 CUDA Toolkit Archive | NVIDIA Developer cmd輸入nvcc -V 編輯國內鏡像源 .condarc anaconda prompt輸入 查看環境 conda env list 安裝py3.9…

MySQL面試,MySQL事務,MySQL鎖,MySQL集群,主從,MySQL分區,分表,InnoDB

文章目錄 數據庫-MySQLMySQL主從、集群模式簡單介紹1、主從模式 Replication2、集群模式3、主從模式部署注意事項 UNION 和 UNION ALL 區別分庫分表1.垂直拆分2、水平拆分 MySQL有哪些數據類型1、整數類型**&#xff0c;2、實數類型**&#xff0c;3、字符串類型**&#xff0c;4…

DDoS攻擊頻發,科普防御DDoS攻擊的幾大有效方法

談到目前最兇猛、頻率高&#xff0c;且令人深惡痛絕的網絡攻擊&#xff0c;DDoS攻擊無疑能在榜上占有一席之地。各種規模的企業報包括組織機構都可能受到影響&#xff0c;它能使企業宕機數小時以上&#xff0c;給整個互聯網造成無數損失。可以說&#xff0c;怎樣防御DDoS攻擊是…

python的多層嵌套循環時,break可以退出多層循環嗎?

在Python中&#xff0c;break 語句只能退出當前所在的循環&#xff0c;無法直接退出多層嵌套的循環。但是&#xff0c;你可以通過使用一個標志變量或者通過使用異常來模擬退出多層循環的效果。 使用標志變量&#xff1a; flag False for i in range(5):for j in range(5):if…

Vue 定義只讀數據 readonly

readonly 讓一個響應式數據變為 **深層次的只讀數據**。 isReadonly 判斷一個數據是不是只讀數據。 應用場景&#xff1a;不希望數據被修改時使用。 readonly 深層次只讀&#xff1a; <template><h1>reactive數據</h1><p>姓名&#xff1a;{{ info…