httpd——事務

http協議:

http/0.9 ,http/1.0 ,http/1.1 ,http/2.0

http協議:stateless

         服務器無法持續追蹤訪問者來源

             cookie,session

http事務:

         請求:request

         響應:response

報文語法格式:

         request報文

                 <method> <request-URL> <version>

                 <headers>

                

                 <entity-body>

                     有可能為空,在請求報文中

         response報文

                 <version> <status> <reason-phrase>

                 <headers>

                

                 <entity-body>

         method:請求方法,標明客戶端希望服務器對資源執行的動作

             GET、HEAD、PUT、POST、DELETE

         version:通信協議的版本

             HTTP/<major>.<minor>

         status:通信返回狀態碼

             三位數字:如200,301,302,404,502;標記請求處理過程中發生的情況

         reason-phrase:

             狀態碼所標記的狀態的簡要描述

         headers:

             每個請求或響應報文可包含任意個首部:每個首部都有首部名稱,后面跟一個冒號,而后跟上一個可選空格,接著是一個值

         entity-body:

             請求時附加的數據或響應時附加的數據

method(方法):

         GET:從服務器獲取一個資源

         HEAD:只從服務器獲取文檔的響應首部

         PUT:將請求的主體部分存儲在服務器上

         POST:向服務器發送要處理的數據

         DELETE:請求刪除服務器上指定的文檔

         TRACE:追蹤請求到達服務器中間經過的代理服務器

         OPTIONS:請求服務器返回對指定資源支持使用的請求方法

協議查看或分析工具:

    tcpdump、tshark、wireshark

status(狀態碼):

         1xx:100-101,信息提示

         2xx:200-206,成功

         3xx:300-305,重定向

         4xx:400-415,錯誤類信息,客戶端錯誤

         5xx:500-505,錯誤類信息,服務器端錯誤

常用狀態碼:

         200:成功,請求的所有數據通過響應報文的entity-body部分發送:OK

         301:請求的URL指向的資源已經被刪除;但在響應報文中通過首部Location指明了資源現在所處的新文字:Moved Permanently

         302:與301相似,但在響應報文中通過Location指明資源現在所處臨時新位置:Found

         304:客戶端發出了條件式請求,但服務器上的資源未曾發生改變,則通過響應此響應狀態碼通知客戶端:Not Modified

         401:需要輸入帳號和密碼認證方能訪問資源:Unauthorized

         403:請求被禁止:Forbidden

         404:服務器無法找到客戶端請求的資源:Not Found

         500:服務器內部錯誤:Internal Server Error

         502:代理服務器從上游/后端服務器收到了一條偽響應:Bad Gateway

headers:

         格式:

                 Name:Value

                

                 Accept:image/webp,image/*,*/*;q=0.8

                 Accept-Encoding:gzip, deflate, sdch, br

                 Accept-Language:zh-CN,zh;q=0.8

                 Connection:keep-alive

                 Host:ss3.bdstatic.com

                 Referer:https://www.baidu.com/?tn=78040160_5_pg&ch=1

                 User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36

                

                 Accept-Ranges:bytes

                 Age:1889089

                 Cache-Control:max-age=2592000

                 Connection:keep-alive

                 Content-Length:1504

                 Content-Type:image/png

                 Date:Fri, 07 Oct 2016 04:34:08 GMT

                 ETag:"55648df6-5e0"

                 Expires:Sat, 15 Oct 2016 07:49:18 GMT

                 Last-Modified:Tue, 26 May 2015 15:15:02 GMT

                 Ohc-Response-Time:1 0 0 0 0 0

                 Server:bfe/1.0.8.13-sslpool-patch

首部的分類:

         通用首部

         請求首部

         響應首部

         實體首部

         擴展首部

通用首部:

         Date:報文的創建時間

         Connection:連接狀態,如keep-alive,close

         Via:顯示報文經過的中間節點

         Cache-Control:控制緩存

         Pragma:

請求首部:

         Accept:通過服務器自己可接收的媒體類型

         Accept-Charset:允許接收的字符集

         Accept-Encoding:接收編碼格式,如gzip

         Accept-Language:接收的語言

        

         Client-IP:

         Host:請求的服務器名稱和端口號

         Referer:包含當前正在請求的資源的上一級資源

         User-Agent:客戶端代理

         條件式請求首部:

                 expect:

                 If-Modified-Since:自從指定的時間之后,請求的資源是否發生過修改

                 If-Unmodified-Since:

                 If-None-match:本地緩存中存儲的文檔的Etag標簽是否與服務器文檔的Etag不匹配

                 If-match:

        

         安全請求首部:

                 Authorization:向服務器發送認證信息,如帳號和密碼

                 Cookie:客戶端向服務器發送cookie

                 Cookie2:

                

         代理請求首部:

             Proxy-Authorization:向代理服務器認證

響應首部:

         信息性:

                 Age:響應持續時長

                 Server:服務器程序軟件名稱和版本

        

         協商首部:某資源有多種表達方式時使用

                 Accept-Ranges:服務器可接收的請求范圍類型

                 Vary:服務器查看的其它首部列表

                

         安全響應首部:

                 Set-Cookie:向客戶端設置cookie

                 Set-Cookie;

                 WWW-Authenticate:來自服務器對客戶端的質詢認證表單

實體首部:

         Allow:列出對此實體可使用的請求方法

         Location:告訴客戶端真正的實體處于何處

        

         Content-Encoding:編碼格式

         Content-Language:使用的語言

         Content-Length:主體的長度

         Content-Location:實體真正所處位置

         Content-Type:主體的對象類型

        

         緩存相關:

                 ETag:實體的擴展標簽

                 Expires:實體的過期時間

                 Last-Modified:最后一次修改的時間

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

(0)
megedugaomegedugao
上一篇 2016-10-12
下一篇 2016-10-12

相關推薦

  • 2016-08-18博客作業

    case 語句 條件判斷語句 case 用 變量引用 in PAT1) 分支1 ;; PAT2) 分支2 ;; … *) 默認分支 ;; esac   case 支持glob 風格的通配符: *       任意長度任意字符 ?    &…

    Linux干貨 2016-09-19
  • Linux-運維之半自動化安裝系統

    CentOS系統安裝             系統啟動流程: bootloader–>kernel(initramfs)–>rootfs–>/sbin/init 安裝程序啟動過程:         &nbs…

    2017-07-24
  • CentOS7內核編譯

    一.centos7內核編譯(支持ntfs文件系統) 1.下載內核源代碼內核文件(https://www.kernel.org/) 2.解壓縮源代碼文件到指定目錄 tar xvf linux-4.8.10.tar.xz -C /usr/src 3.創建軟鏈接解壓后的文件 cd /usr/src ln -s linux-4.8.10/ linux 4.復制當前系…

    Linux干貨 2016-11-28
  • linux計劃任務

    linux計劃任務、周期性任務執行 未來的某時間點執行一次某任務:at,batch 周期性運行某任務:crontab 執行結果: 會通過郵件發送給用戶, 存放在/var/spool/mail/UserName ~]# ss -tnl 或者 ~]# netstat -tnlp  查看是否有25號端口打開,來判斷本機的郵件服務是否正常打開 本地電子郵件…

    Linux干貨 2016-09-19
  • redis-cli的一些有趣也很有用的功能

    redis-cli我們最常用的三個參數就是-h、-p、-a選項,分配用來指定連接的redis-server的host、port和登錄密碼。通過redis-cli –help發現,redis-cli還提供了其他很多的參數和功能。 1)-x-x選項從標準輸入(stdin)讀取最后一個參數。 比如從管道中讀取輸入: echo -en &quot…

    Linux干貨 2016-04-13
  • 馬哥教育網絡班21期+第6周課程練習

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; [root@localhost ~]#cp /etc/rc.d/rc.sysinit /tmp/ [root@localhost&nbs…

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