Http請求流程

1、http請求流程

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

DNS的過程是這樣的:首先我們知道我們本地的機器上在配置網絡時都會填寫DNS,這樣本機就會把這個url發給這個配置的DNS服務器,如果能夠找到相應的url則返回其ip,否則該DNS將繼續將該解析請求發送給上級DNS,整個DNS可以看做是一個樹狀結構,該請求將一直發送到根直到得到結果。現在已經擁有了目標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 16:56
下一篇 2017-02-13 18:53

相關推薦

  • Linux文件系統初識

    Linux文件系統初識        文件系統是一種用于向用戶提供數據訪問的機制,我們的硬盤,U盤等存儲設備會被文件系統分割為特定大小的塊,系統中的文件就被存儲在數據塊中,而我們平常接觸到的分區,目錄,文件等正是文件系統通過組織整合之后才呈現在我們面前的,我們無需去關心我們的數據到底存儲在硬盤的那個…

    2017-07-15
  • 第五周作業

    1. 顯示當前系統上root、fedora或user1用戶的默認shell; grep -E "^(root|centos|user1)\>" /etc/passwd 或 awk -F: '{if($1=="root" || $1==…

    Linux干貨 2017-01-10
  • 計算機組成原理

                                 計算機組成原理 Linux 操作系統是UNIX 操作系統的一種克隆系統。它誕生于1991 年的10 月5 日(這是第一次正式向外公布的時間)。以后借助于…

    Linux干貨 2016-10-27
  • N26-博客作業-week10

    1、請詳細描述CentOS系統的啟動流程(詳細到每個過程系統做了哪些事情) 2、為運行于虛擬機上的CentOS 6添加一塊新硬件,提供兩個主分區;  (1) 為硬盤新建兩個主分區;并為其安裝grub;  (2) 為硬盤的第一個主分區提供內核和ramdisk文件; 為第二個分區提供rootfs;  (3) 為rootfs提供bas…

    2017-04-09
  • Linux 基礎知識(六.一)

    一、模式及模式間的切換 (一)模式介紹 1、vim文本編輯器提供了三種基本模式,分別是編輯模式(命令模式)、輸入模式以及末行模式(命令行模式) (二)模式間的切換 二、基礎操作 (一)單文件的打開與關閉 1、單文件的打開:vim [options]… /path/to/somefile 2、單文件打開時的常用選項: (1)+#:表示當文件打開時,…

    Linux干貨 2016-11-14
  • vim的使用

    本文主要講述vim的使用 一.vim是什么? vim是一個十分著名也十分強大的編輯器,是vi的增強版,是一個模式化的編輯器,英文名稱為 Visual Interface iMprove,在2000年2月Vim贏得了Slashdot Beanie的最佳開放源代碼文本編輯器的美稱。 二.vim的工作模式  (1)編輯模式:也叫命令模式,通過編輯命令實現…

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