Http請求流程

1、http請求流程

1.連接 當我們輸入這樣一個請求時,首先要建立一個socket連接,因為socket是通過ip和端口建立的,所以之前還有一個DNS解析過程,把www.mycompany.com變成ip,如果url里不包含端口號,則會使用該協議的默認端口號。

DNS的過程是這樣的:首先我們知道我們本地的機器上在配置網絡時都會填寫DNS,這樣本機就會把這個url發給這個配置的DNS服務器,如果能夠找到相應的url則返回其ip,否則該DNS將繼續將該解析請求發送給上級DNS,整個DNS可以看做是一個樹狀結構,該請求將一直發送到根直到得到結果?,F在已經擁有了目標ip和端口號,這樣我們就可以打開socket連接了。

2.請求 連接成功建立后,開始向web服務器發送請求,這個請求一般是GET或POST命令(POST用于FORM參數的傳遞)。GET命令的格式為:  GET 路徑/文件名 HTTP/1.0
文件名指出所訪問的文件,HTTP/1.0指出Web瀏覽器使用的HTTP版本?,F在可以發送GET命令:

GET /mydir/index.html HTTP/1.0,

3.應答 web服務器收到這個請求,進行處理。從它的文檔空間中搜索子目錄mydir的文件index.html。如果找到該文件,Web服務器把該文件內容傳送給相應的Web瀏覽器。

為了告知瀏覽器,,Web服務器首先傳送一些HTTP頭信息,然后傳送具體內容(即HTTP體信息),HTTP頭信息和HTTP體信息之間用一個空行分開。
常用的HTTP頭信息有:
  ① HTTP 1.0 200 OK  這是Web服務器應答的第一行,列出服務器正在運行的HTTP版本號和應答代碼。代碼"200 OK"表示請求完成。
 ?、?MIME_Version:1.0 它指示MIME類型的版本。
 ?、?content_type:類型 這個頭信息非常重要,它指示HTTP體信息的MIME類型。如:content_type:text/html指示傳送的數據是HTML文檔。
 ?、?content_length:長度值 它指示HTTP體信息的長度(字節)。
4.關閉連接:當應答結束后,Web瀏覽器與Web服務器必須斷開,以保證其它Web瀏覽器能夠與Web服務器建立連接。

2、http工作模型

httpd工作模式中的prefork、worker、event優缺點:
http服務,需要客戶端和服務器端建立連接,httpd有三種工作模式:prefork worker event
優點:在資源夠用的情況下服務穩定
worker:這個就是改進之前的工作模型,就是讓一個進程處理多個響應.
event:這樣模型就是讓一個進程產生多個線程,讓每個線程處理處理客戶端請求,并且每個線程可以處理多個線程
查看MPM,可以使用httpd -l命令來查看當前加載的MPM模塊

原創文章,作者:N24_xingxiu,如若轉載,請注明出處:http://www.www58058.com/68303

(3)
N24_xingxiuN24_xingxiu
上一篇 2017-02-13
下一篇 2017-02-13

相關推薦

  • cp復制軟鏈接失效的原因

    在學習cp命令時我們會知道復制軟鏈接時,如果要保留鏈接文件使用-d,但當我們實際操作時卻常常出現如下情況 [root@localhost ~]# ls -l /etc/redhat-release     #此文件為鏈接文件 lrwxrwxrwx. …

    Linux干貨 2016-10-25
  • Linux運維利器之ClusterShell

    Via:http://blogread.cn/it/article/4573?f=wb 如果你有若干臺數據庫服務器,突然你想知道它們當前的即時負載情況,你會怎么辦?挨個登錄上去uptime一下?感覺有點傻,寫個shell?浪費時間,直接用ClusterShell吧! ClusterShell的安裝與配置     Clu…

    Linux干貨 2015-05-12
  • 用戶和組的管理

    在Linux系統上,用戶管理是基于用戶名和密碼的方式進行資源的分配的,Linux上的用戶分為以下的類別: 管理員 : root  ,UID為0 (這個用戶有極大的權限,可以直接無視很多的限制,包括讀寫執行的權限。所以這個用戶的使用要小心,因為他的權限太大。) 普通用戶的UID:1-65535 普通用戶又可分為: 系統用戶(已經存…

    2017-04-08
  • 單網卡多IP,雙網卡實現負載

        有些時候會我們一個IP不夠用,但是又不想加網卡,可以試試一個網卡實現多個IP,下面我們來操作一下。 生成新增IP配置文件信息;  [root@localhost network-scripts]# cat ifcfg-eth0      DE…

    Linux干貨 2016-09-06
  • 第一篇文章

    第一篇文章。

    Linux干貨 2016-12-26
  • 用戶管理生產環境實踐案例

    關于用戶管理的命令回顧:visudo 用戶管理生產環境實踐案例 1. 關于用戶管理命令的回顧 2. 正文 關于用戶管理的命令回顧: <1> useradd命令 <2> 其他命令 (1)信息收集 (2)模擬用戶測試 <1> 問題現狀 <2> 需求分析 <3> 實現方針 <4>. 實施過程 …

    Linux干貨 2016-10-18
欧美性久久久久