国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

HTTP簡單教程

princekin / 1794人閱讀

摘要:當瀏覽器接收并顯示網頁前,此網頁的所在的服務器會返回一個包含狀態碼的信息頭用以響應瀏覽器的請求。所請求的資源未修改,服務器返回此狀態碼時,不會返回任何資源使用代理。所請求的資源必須通過代理訪問已經被廢棄的狀態碼臨時重定向。

目錄

    • HTTP簡介
      • HTTP工作原理
    • HTTP消息結構
      • 客戶端請求消息
      • 服務器響應消息
      • 實例
    • HTTP請求方法
    • HTTP響應頭信息
    • HTTP狀態碼
      • HTTP狀態碼分類
      • HTTP狀態碼列表
    • HTTP content-type對照表

HTTP簡介

HTTP協議是Hyper Text Transfer Protocol(超文本傳輸協議)的縮寫,是用于從萬維網服務器傳輸超文本到本地瀏覽器的傳輸協議。
HTTP是一個基于TCP/IP通信協議來傳遞數據的(HTML文件、圖片文件、查詢結果等)。

HTTP工作原理

HTTP協議工作于客戶端-服務端架構上。瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB服務器發送請求。
Web服務器有:Apache服務器,IIS服務器,Tomcat服務器等。
Web服務器器根據接收到的請求,向客戶端發送響應消息。
HTTP默認端口號為80,但是也可以更改為其它端口。

HTTP注意事項:

HTTP是無連接:限制每次連接只處理一個請求,服務器處理完客戶的請求 ,并接收到客戶的應答后即斷開連接,采用這種方式可以節省傳輸時間。
HTTP是媒體獨立的:意味著只要客戶端和服務器知道如何處理的數據內容,任何類型的數據都可以通過HTTP發送。客戶端以及服務器指定使用適合的MIME-type內容類型。
HTTP是無狀態的:HTTP協議是無狀態協議。意指協議對事物處理沒有記憶能力。如果后續處理需要前面的信息則他必須重傳,這樣可能導致每次連接傳送的數據量增大。另一方面,在服務器不需要先前信息時,它的應答就比較快。

HTTP協議通信流程


HTTP消息結構

HTTP是基于客戶端/服務端(C/S)的架構模型,通過一個可靠的鏈接來交換信息,是一個無狀態的請求/響應協議。
一個HTTP“客戶端”是一個應用程序(Web瀏覽器或其他任何客戶端),通過連接到服務器向服務器發送HTTP請求。
一個HTTP“服務器”同樣也是一個應用程序(通常是一個Web服務,如Apache Web服務器或IIS服務器或Tomcat服務器等),通過接收客戶端的請求并向客戶端發送HTTP響應數據。
HTTP使用同一的資源標識符(Uniform Resource Identifiers, URI)來傳輸數據和建立連接。一旦建立連接后,數據消息就通過類似Internet郵件使用的格式RFC5322 和多用途Internet郵件擴展(MIME)RFC2045 來傳送。

客戶端請求消息

客戶端發送一個HTTP請求到服務器的請求消息包括以下格式:請求行(request line)、請求頭部(header)、空行和請求數據四個部分組成,下圖給出了請求報文的一般格式。
HTTP請求報文格式

服務器響應消息

HTTP響應也由四個部分組成,分別是:狀態行、消息報頭、空行和響應正文。
HTTP服務器響應消息

實例

下面實例是一典型的使用GET來傳遞數據的實例:
客戶端請求:

GET /hello.txt HTTP/1.1
User-Agent: curl/7.16.3 libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Host: www.example.com
Accept-Language: en,mi

服務端請求:

HTTP/1.1 200 OK
Date: Mon, 27 Jul 2009 12:28:53 GMT
Server: Apache
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
ETag: “34aa387-d-1568eb00”
Accept-Ranges: bytes
Content-Length: 51
Vary: Accept-Encoding
Content-Type: text/plain

輸出結果:

Hello World! My payload includes a trailing CRLF.


HTTP請求方法

根據HTTP標準,HTTP請求可以使用多種請求方法。
HTTP1.0定義了三種請求方法:GETPOSTHEAD方法。
HTTP1.1新增了五種請求方法:OPTIONSPUTDELETETRACECONNECT方法。

序號 方法 描述
1 GET 請求指定的頁面信息,并返回實體主體
2 HEAD 類似于get請求,只不過返回的響應中沒有具體的內容,用于獲取報頭
3 POST 向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會導致新的資源的建立或已有的資源的修改
4 PUT 從客戶端向服務器傳送的數據取代指定的文檔的內容
5 DELETE 請求服務器刪除指定的頁面
6 CONNECT HTTP/1.1協議中預留給能夠將連接改為管道方式的代理服務器
7 OPTIONS 允許客戶端查看服務器的性能
8 TRACE 回顯服務器收到的請求,主要用于測試或診斷

HTTP響應頭信息

HTTP請求頭提供了關于請求,響應或者其他的發送實體的信息。

應答頭 說明
Content-Encoding 文檔的編碼(Encode)方法。解碼后才可以得到Content-Type頭指定的內容類型。
Content-Length 表示內容長度。只有當瀏覽器使用HTTP連接時才需要這個數據。例如,下載數據時,通過它查看字節大小
Content-Type 表示后面的文檔是屬于什么MIME類型。Servlet默認為text/plain,但最好顯式指出
Date 當前的GMT時間(格林威治時間)
Expires 表示在什么時候認為文檔已經過期,從而不再緩存它
Last-Modified 文檔的最后改動時間
Location 文檔位置,表示客戶端應該到那提取文檔
Refresh 表示瀏覽器應該在多少時間后刷新文檔或頁面(只一次,非重復),以秒計。Refresh不屬于HTTP1.1正式規范中,而是一個擴展,但Netscape和IE都支持它
Server 服務器名字
Set-Cookie 設置頁面相關的Cookie
WWWW-Authenticate 表示客戶端需要在其中提供某類型的授權信息。例如,在包含401狀態行的應答中,這個頭就需要設置

HTTP狀態碼

當瀏覽者訪問一個網頁時,瀏覽者的瀏覽器會向網頁所在服務器發出請求。當瀏覽器接收并顯示網頁前,此網頁的所在的服務器會返回一個包含HTTP狀態碼(HTTP Status Code)的信息頭(server header)用以響應瀏覽器的請求。
下面是常見的HTTP狀態碼:

  • 200 - 請求成功
  • 301 - 資源(網頁等)被永久轉移到其他URL
  • 404 - 請求的資源(網頁等)不存在
  • 500 - 內部服務器錯誤

HTTP狀態碼分類

HTTP狀態碼由三個十進制數字組成,第一個十進制數字定義了狀態碼的類型。
HTTP狀態碼分類:

分類 描述
1** 信息,服務器收到請求,需要請求者繼續執行操作
2** 成功,操作被成功接收并處理
3** 重定向,需要進一步的操作以完成請求
4** 客戶端錯誤,請求包含語法錯誤或無法完成請求
5** 服務器錯誤,服務器在處理請求的過程中發生了錯誤

HTTP狀態碼列表

狀態 狀態碼英文名稱 中文描述
100 Continue 繼續。客戶端應繼續其請求
101 Switching Protocol 切換協議。服務器根據客戶端的請求切換協議。只能切換到更高級的協議,例如,切換到HTTP的新版本協議
200 OK 請求成功。一般用于GET與POST請求
201 Created 已創建。成功請求并創建了新的資源
202 Accepted 已接受。已經接受了請求,但未處理完成
203 Non-Authoritative Information 非授權信息。請求成功,但返回的meta信息不再原始的服務器器,而是一個副本
204 No Content 無內容。服務器成功處理,但未返回內容。未更新網頁的情況下,可確保瀏覽器繼續顯示檔期那文檔
205 Rest Content 重置內容。服務器處理成功,用戶終端(例如:瀏覽器)應重置文檔視圖。可通過此返回碼清除瀏覽器的表單域
206 Partial Choices 部分內容。服務器成功處理了部分GET請求
300 Multiple Choices 多種選擇。請求的資源可包括多個位置,相應可返回一個資源特征與地址的列表用于用戶終端(例如:瀏覽器)選擇
301 Move Permanently 永久移動。請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新的URI。今后任何新的請求都應使用新的URI代替
302 Found 臨時移動。與301類似。但資源只是臨時被移動,客戶端應繼續使用原有URI
303 See Other 查看其它地址。與301類似。使用GET和POST請求查看
304 Not Modified 未修改。所請求的資源未修改,服務器返回此狀態碼時,不會返回任何資源
305 Use Proxy 使用代理。所請求的資源必須通過代理訪問
306 Unused 已經被廢棄的HTTP狀態碼
307 Temporary Redirect 臨時重定向。與302類似。使用GET請求重定向
400 Bad Request 客戶端請求的語法錯誤,服務器無法理解
401 Unauthorized 請求要求用戶的身份認證
402 Payment Required 保留,將來使用
403 Forbidden 服務器理解請求客戶端的請求,但是拒絕在執行此請求
404 Not Found 服務器復發根據客戶端的請求找到資源(網頁等)。通過此代碼,網站設計人員可設置“您所請求的資源無法找到”的個性頁面
405 Method Not Allowed 客戶端請求中的方法被禁止
406 Not Acceptable 服務器無法根據請求的內容特性完成請求
407 Proxy Authentication Required 請求要求代理的身份認證,與401類似。但請求這應當使用代理進行授權
408 Request Time-out 超時。服務器等待客戶端發送的請求時間過長
409 Conflict 服務器處理請求發送了沖突。服務器完成客戶端的PUT請求是可能返回此代碼
410 Gone 客戶端請求的資源已經不存在。不同于404,如果資源以前有現在被永久刪除了可使用該狀態碼,網站設計人員可通過301代碼指定資源的新位置
411 Length Required 服務器無法處理客戶端發送的不帶Content-Length的請求信息
412 Precondition Failed 客戶端請求的先決條件錯誤
413 Request Entity Too Large 由于請求的實體過大,服務器無法處理,因此拒絕請求。為防止客戶端的連續請求,服務器可能會關閉連接。如果只是服務器暫時無法處理,則會包含一個Retry-After的響應信息
413 Request-URI Too Large 要求的URI過長(URI通常為網址),服務器無法處理
415 Unsupported Media Type 服務器無法處理請求附帶的媒體格式
416 Requested range not satisfiable 客戶端請求的范圍無效
417 Expectation Failed 服務器無法滿足Expect的請求頭信息
500 Internal Server Error 服務器內部錯誤。無法完成請求
501 Not Implemented 服務器不支持請求的工程,無法完成請求
502 Bad Gateway 充當網關或代理的服務器,從遠端服務器接收到了一個無效的請求
503 Services Unavailable 由于超載或系統維護,服務器暫時的方無法處理客戶端的請求
504 Gateway Time-out 充當網管或代理的服務器,未及時從遠端服務器獲取請求
505 HTTP Version not supported 服務器不知請求的HTTP協議的版本,無法完成處理

HTTP content-type對照表

文件擴展名 Content-Type(Mime-Type) 文件擴展名 Content-Type(Mime-Type)
.*( 二進制流,不知道下載文件類型) application/octet-stream .tif image/tiff
.001 application/x-001 .301 application/x-301
.323 text/h323 .906 application/x-906
.907 drawing/907 .a11 application/x-a11
.acp audio/x-mei-aac .ai application/postscript
.aif audio/aiff .aifc audio/aiff
.aiff audio/aiff .anv application/x-anv
.asa text/asa .asf video/x-ms-asf
.asp text/asp .asx video/x-ms-asf
.au audio/basic .avi video/avi
.awf application/vnd.adobe.workflow .biz text/xml
.bmp application/x-bmp .bot application/x-bot
.c4t application/x-c4t .c90 application/x-c90
.cal application/x-cals .cat application/vnd.ms-pki.seccat
.cdf application/x-netcdf .cdr application/x-cdr
.cel application/x-cel .cer application/x-x509-ca-cert
.cg4 application/x-g4 .cgm application/x-cgm
.cit application/x-cit .class java/*
.cml text/xml .cmp application/x-cmp
.cmx application/x-cmx .cot application/x-cot
.crl application/pkix-crl .crt application/x-x509-ca-cert
.csi application/x-csi .css text/css
.cut application/x-cut .dbf application/x-dbf
.dbm application/x-dbm .dbx application/x-dbx
.dcd text/xml .dcx application/x-dcx
.der application/x-x509-ca-cert .dgn application/x-dgn
.dib application/x-dib .dll application/x-msdownload
.doc application/msword .dot application/msword
.drw application/x-drw .dtd text/xml
.dwf Model/vnd.dwf .dwf application/x-dwf
.dwg application/x-dwg .dxb application/x-dxb
.dxf application/x-dxf .edn application/vnd.adobe.edn
.emf application/x-emf .eml message/rfc822
.ent text/xml .epi application/x-epi
.eps application/x-ps .eps application/postscript
.etd application/x-ebx .exe application/x-msdownload
.fax image/fax .fdf application/vnd.fdf
.fif application/fractals .fo text/xml
.frm application/x-frm .g4 application/x-g4
.gbr application/x-gbr . application/x-
.gif image/gif .gl2 application/x-gl2
.gp4 application/x-gp4 .hgl application/x-hgl
.hmr application/x-hmr .hpg application/x-hpgl
.hpl application/x-hpl .hqx application/mac-binhex40
.hrf application/x-hrf .hta application/hta
.htc text/x-component .htm text/html
.html text/html .htt text/webviewhtml
.htx text/html .icb application/x-icb
.ico image/x-icon .ico application/x-ico
.iff application/x-iff .ig4 application/x-g4
.igs application/x-igs .iii application/x-iphone
.img application/x-img .ins application/x-internet-signup
.isp application/x-internet-signup .IVF video/x-ivf
.java java/* .jfif image/jpeg
.jpe image/jpeg .jpe application/x-jpe
.jpeg image/jpeg .jpg image/jpeg
.jpg application/x-jpg .js application/x-javascript
.jsp text/html .la1 audio/x-liquid-file
.lar application/x-laplayer-reg .latex application/x-latex
.lavs audio/x-liquid-secure .lbm application/x-lbm
.lmsff audio/x-la-lms .ls application/x-javascript
.ltr application/x-ltr .m1v video/x-mpeg
.m2v video/x-mpeg .m3u audio/mpegurl
.m4e video/mpeg4 .mac application/x-mac
.man application/x-troff-man .math text/xml
.mdb application/msaccess .mdb application/x-mdb
.mfp application/x-shockwave-flash .mht message/rfc822
.mhtml message/rfc822 .mi application/x-mi
.mid audio/mid .midi audio/mid
.mil application/x-mil .mml text/xml
.mnd audio/x-musicnet-download .mns audio/x-musicnet-stream
.mocha application/x-javascript .movie video/x-sgi-movie
.mp1 audio/mp1 .mp2 audio/mp2
.mp2v video/mpeg .mp3 audio/mp3
.mp4 video/mpeg4 .mpa video/x-mpg
.mpd application/vnd.ms-project .mpe video/x-mpeg
.mpeg video/mpg .mpg video/mpg
.mpga audio/rn-mpeg .mpp application/vnd.ms-project
.mps video/x-mpeg .mpt application/vnd.ms-project
.mpv video/mpg .mpv2 video/mpeg
.mpw application/vnd.ms-project .mpx application/vnd.ms-project
.mtx text/xml .mxp application/x-mmxp
.net image/pnetvue .nrf application/x-nrf
.nws message/rfc822 .odc text/x-ms-odc
.out application/x-out .p10 application/pkcs10
.p12 application/x-pkcs12 .p7b application/x-pkcs7-certificates
.p7c application/pkcs7-mime .p7m application/pkcs7-mime
.p7r application/x-pkcs7-certreqresp .p7s application/pkcs7-signature
.pc5 application/x-pc5 .pci application/x-pci
.pcl application/x-pcl .pcx application/x-pcx
.pdf application/pdf .pdf application/pdf
.pdx application/vnd.adobe.pdx .pfx application/x-pkcs12
.pgl application/x-pgl .pic application/x-pic
.pko application/vnd.ms-pki.pko .pl application/x-perl
.plg text/html .pls audio/scpls
.plt application/x-plt .png image/png
.png application/x-png .pot application/vnd.ms-powerpoint
.ppa application/vnd.ms-powerpoint .ppm application/x-ppm
.pps application/vnd.ms-powerpoint .ppt application/vnd.ms-powerpoint
.ppt application/x-ppt .pr application/x-pr
.prf application/pics-rules .prn application/x-prn
.prt application/x-prt .ps application/x-ps
.ps application/postscript .ptn application/x-ptn
.pwz application/vnd.ms-powerpoint .r3t text/vnd.rn-realtext3d
.ra audio/vnd.rn-realaudio .ram audio/x-pn-realaudio
.ras application/x-ras .rat application/rat-file
.rdf text/xml .rec application/vnd.rn-recording
.red application/x-red .rgb application/x-rgb
.rjs application/vnd.rn-realsystem-rjs .rjt application/vnd.rn-realsystem-rjt
.rlc application/x-rlc .rle application/x-rle
.rm application/vnd.rn-realmedia .rmf application/vnd.adobe.rmf
.rmi audio/mid .rmj application/vnd.rn-realsystem-rmj
.rmm audio/x-pn-realaudio .rmp application/vnd.rn-rn_music_package
.rms application/vnd.rn-realmedia-secure .rmvb application/vnd.rn-realmedia-vbr
.rmx application/vnd.rn-realsystem-rmx .rnx application/vnd.rn-realplayer
.rp image/vnd.rn-realpix .rpm audio/x-pn-realaudio-plugin
.rsml application/vnd.rn-rsml .rt text/vnd.rn-realtext
.rtf application/msword .rtf application/x-rtf
.rv video/vnd.rn-realvideo .sam application/x-sam
.sat application/x-sat .sdp application/sdp
.sdw application/x-sdw .sit application/x-stuffit
.slb application/x-slb .sld application/x-sld
.slk drawing/x-slk .smi application/smil
.smil application/smil .smk application/x-smk
.snd audio/basic .sol text/plain
.sor text/plain .spc application/x-pkcs7-certificates
.spl application/futuresplash .spp text/xml
.ssm application/streamingmedia .sst application/vnd.ms-pki.certstore
.stl application/vnd.ms-pki.stl .stm text/html
.sty application/x-sty .svg text/xml
.swf application/x-shockwave-flash .tdf application/x-tdf
.tg4 application/x-tg4 .tga application/x-tga
.tif image/tiff .tif application/x-tif
.tiff image/tiff .tld text/xml
.top drawing/x-top .torrent application/x-bittorrent
.tsd text/xml .txt text/plain
.uin application/x-icq .uls text/iuls
.vcf text/x-vcard .vda application/x-vda
.vdx application/vnd.visio .vml text/xml
.vpg application/x-vpeg005 .vsd application/vnd.visio
.vsd application/x-vsd .vss application/vnd.visio
.vst application/vnd.visio .vst application/x-vst
.vsw application/vnd.visio .vsx application/vnd.visio
.vtx application/vnd.visio .vxml text/xml
.wav audio/wav .wax audio/x-ms-wax
.wb1 application/x-wb1 .wb2 application/x-wb2
.wb3 application/x-wb3 .wbmp image/vnd.wap.wbmp
.wiz application/msword .wk3 application/x-wk3
.wk4 application/x-wk4 .wkq application/x-wkq
.wks application/x-wks .wm video/x-ms-wm
.wma audio/x-ms-wma .wmd application/x-ms-wmd
.wmf application/x-wmf .wml text/vnd.wap.wml
.wmv video/x-ms-wmv .wmx video/x-ms-wmx
.wmz application/x-ms-wmz .wp6 application/x-wp6
.wpd application/x-wpd .wpg application/x-wpg
.wpl application/vnd.ms-wpl .wq1 application/x-wq1
.wr1 application/x-wr1 .wri application/x-wri
.wrk application/x-wrk .ws application/x-ws
.ws2 application/x-ws .wsc text/scriptlet
.wsdl text/xml .wvx video/x-ms-wvx
.xdp application/vnd.adobe.xdp .xdr text/xml
.xfd application/vnd.adobe.xfd .xfdf application/vnd.adobe.xfdf
.xhtml text/html .xls application/vnd.ms-excel
.xls application/x-xls .xlw application/x-xlw
.xml text/xml .xpl audio/scpls
.xq text/xml .xql text/xml
.xquery text/xml .xsd text/xml
.xsl text/xml .xslt text/xml
.xwd application/x-xwd .x_b application/x-x_b
.sis application/vnd.symbian.install .sisx application/vnd.symbian.install
.x_t application/x-x_t .ipa application/vnd.iphone
.apk application/vnd.android.package-archive .xap application/x-silverlight-app

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/1949.html

相關文章

  • 分析數據——Charles,wireshark,fiddler工具的安裝及簡單使用

    摘要:參考教程我弄這些的時候下載的各個軟件的版本注明文中的網址均是百度的參考文章,僅供參考,謝謝。 抓包工具:常用抓包工具有好多,本人就試了三個。Charles(IOS常用)wiresharkfiddler(mac沒有使用版本,需用Windows系統或連接遠程安裝使用)安裝包:官網下載最新即可或百度都有最新的 安裝(可參考本文最后的教程) Charles ,fiddler 方法一致:電腦網絡...

    monw3c 評論0 收藏0
  • MongoDB最簡單的入門教程之五-通過Restful API訪問MongoDB

    摘要:通過前面四篇的學習,我們已經在本地安裝了一個數據庫,并且通過一個簡單的應用的單元測試,插入了幾條記錄到中,并通過查看到了插入的數據。讀操作最終將會使用我們在最簡單的入門教程之三使用代碼往里插入數據里介紹的方法,即通過注入的實例完成對的操作。 通過前面四篇的學習,我們已經在本地安裝了一個MongoDB數據庫,并且通過一個簡單的Spring boot應用的單元測試,插入了幾條記錄到Mong...

    xeblog 評論0 收藏0

發表評論

0條評論

princekin

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<