青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

A Za, A Za, Fighting...

堅信:勤能補拙

2011知識點 - HTTP協議

HTTP protocol

© Min的技術分享 – 54min.com (RSS訂閱) | 原文鏈接:http://54min.com/post/the-http-protocol.html

HTTP protocol

HTTP是應用層協議(傳輸層采用TCP因此是面向連接的),是WWW所使用的協議。當前使用的是HTTP/1.1(HTTP/1.0對每個request/response使用獨立的connection,每次請求都需要重新建立到server的HTTP連接;HTTP/1.1引入了HTTP persistent connection,重用一個connection多次(通過在client和server的HTTP header中添加Connection: Keep-Alive),參考)。

HTTP-base的C/S通信: client(常見的為瀏覽器)發出request, server(常見的為http server)返回針對該request的response。(通常采用80端口)。

【request】

一個request通常包含如下內容:

    request line
    header fields (key-value pairs)
    empty line
    optional message body
  • 每行必須使用\r\n結尾;
  • request line的部分包含請求文件的路徑部分,例如GET /index.html HTTP/1.1
  • request header fields部分只有Host是不可省略的,其他都是可選的;
  • 空行部分不能包含任何空格字符;
  • message body部分通常用于放置POST方法的數據,是可選的

request支持的方法由如下幾種(request line的部分指定):

    HEAD    //和GET方法類似,但是只獲取response的HTTP header
    GET     //獲取指定路徑的內容(reponse包含header和message body)
    POST    //將數據POST到server
    PUT     //uploads a representation of the specified resource
    DELETE  //delete the specified resource

    TRACE   //返回server得到的request,以了解在中間server進行了哪些修改
    OPTIONS
    CONNECT
    PATCH

一般HTTP Server需要實現GET,HEAD和OPTIONS方法。

request的HTTP header fields參考。常見的:

    Host: www.google.com        //server的domain name,不能省略
    Accpet: text/plain          //接受的Content-Type
    Accept-Charset: utf-8       //接受的character set
    Accept-Language: en-US      //接受的語言
    User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
    Connection: Close           //客戶端在獲取response之后會斷開連接,如設置為Keep-Alive,則該連接可以多次使用
    Cookie: username=my-username; password=my-password; //指定client端攜帶的cookies
    Content-Length: 348         //數據包內容的長度(之后message body部分)
    Content-Type: application/x-www-form-urlencoded //數據報內容的類型

【response】

一個response通常包含如下內容:

    response line
    header fields (key-value pairs)
    empty line
    message body
  • 每行必須使用\r\n結尾;
  • reponse line的部分包含status code和status reason phrase,如HTTP/1.1 200 OKHTTP/1.1 404 Not Found
  • 空行部分不能包含任何空格字符;
  • message body部分即獲取的URI的資源的內容,如HTML頁面代碼

response的status code,比較常見到的:

200 OK

302 Found   //用于redirection

400 Bad Request //the request has bad syntax
403 Forbidden   //the server is refusing to respond to it
404 Not Found   //could not be found

502 Bad Gateway //the server was acting as proxy and received an invalid response from the upstream server(一般為app server),如nginx + PHP-FPM

更多參考:http://en.wikipedia.org/wiki/List_of_HTTP_status_codes

response的HTTP header fields參考。常見的:

    Server: nginx/0.7.67                        //http server信息
    Connection: close                           //或Keep-Alive
    Content-Length: 35                          //response body部分內容長度
    Content-Type:  text/html;charset=gb2312     //reponse body部分的類型和編碼
    Cache-Control: max-age=3600                 //指定client可以cache
    Content-Encoding: gzip                      //指定response內容是壓縮的
    Set-Cookie: userId=2; username=min;         //在client端種下cookies

更多的Http headers fields: http://en.wikipedia.org/wiki/List_of_HTTP_header_fields

【HTTP request和response實例】

如下介紹HEADGETPOST共3種方法的HTTP request/response實例。

HEAD:

HEADGET類似但是只獲取response的response line和header fields部分,不包括message body

  • request:

    HEAD /request.php?q=keywords&status=2 HTTP/1.1
    HOST: example.com
    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
    
  • response

    HTTP/1.1 200 OK
    Server  nginx/0.7.67
    Date    Mon, 18 Jul 2010 02:51:09 GMT
    Content-Type    text/html
    Transfer-Encoding   chunked
    Connection  keep-alive
    X-Powered-By    PHP/5.3.6-12
    Content-Encoding    gzip
    

GET:

  • request:

    GET /index.php?q=keywords HTTP/1.1
    Host    test.54min.com
    User-Agent  Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
    Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Connection  keep-alive
    
  • response:

    HTTP/1.1 200 OK
    Server  nginx/0.7.67
    Date    Mon, 18 Jul 2010 02:54:02 GMT
    Content-Type    text/html
    Last-Modified   Fri, 24 Jun 2010 07:39:28 GMT
    Transfer-Encoding   chunked
    Connection  keep-alive
    Content-Encoding    gzip
    
    <html>
    this is c 
    sfsdfsdfs
    </html>
    

POST:

POST方法的request需要指定Content-LengthContent-Type

  • request:

    POST /login.php HTTP/1.1
    Host: www.example.com
    User-Agent  Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0
    Content-Length: 27
    Content-Type: application/x-www-form-urlencoded
    
    userid=joe&password=guessme
    
  • response:

    HTTP/1.1 200 OK
    Server  nginx/0.7.67
    Date    Mon, 18 Jul 2010 02:54:02 GMT
    Content-Type    text/html
    Last-Modified   Fri, 24 Jun 2010 07:39:28 GMT
    Transfer-Encoding   chunked
    Connection  keep-alive
    Content-Encoding    gzip
    
    <html>
    this is c 
    sfsdfsdfs
    </html>
    

參考:http://developers.sun.com/mobility/midp/ttips/HTTPPost/

【HTTP是statless protocol】

HTTP是無狀態的協議,server端不保留client端的任何狀態信息,因此要實現在多次連接下能夠獲取之前的狀態,可以通過cookies(client端)或session(server端)的方法。

【HTTP協議的應用】

綜上,HTTP協議即是WWW互聯網基于TCP socket定義的一組通訊規范,使用該協議即可實現http client和http server的通信。它的優點就是簡單,最常用,大部分語言都支持client端實現

實際中借助libevent庫可輕松實現高并發高性能的HTTP server,將自己的應用封裝一個HTTP接口,方便各種客戶端進行數據通信。

【推薦的HTTP(header和raw message)分析工具】

參考:http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

posted on 2011-09-04 22:19 simplyzhao 閱讀(425) 評論(0)  編輯 收藏 引用 所屬分類: R_找工復習2011

導航

<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美精品自拍偷拍动漫精品| 亚洲欧洲综合另类| 国产主播精品| 国产欧美日韩亚洲| 国产精品日韩在线播放| 国产精品扒开腿做爽爽爽软件| 欧美日在线观看| 国产欧美精品一区aⅴ影院| 国产日韩视频一区二区三区| 精品电影一区| 99pao成人国产永久免费视频| 一区二区欧美国产| 久久精品国产视频| 亚洲国产专区| 亚洲制服av| 欧美一区亚洲二区| 欧美激情国产高清| 国产精品一区二区三区四区五区| 国产一区二区观看| 亚洲靠逼com| 久久成人精品无人区| 欧美成人dvd在线视频| 亚洲精品影视| 久久福利一区| 久久资源av| 亚洲美女网站| 久久精品视频免费播放| 欧美日韩的一区二区| 韩国一区二区三区在线观看| 日韩亚洲在线| 美女网站在线免费欧美精品| 亚洲视频1区2区| 欧美成人资源| 精品av久久久久电影| 亚洲淫性视频| 亚洲高清二区| 久久精品欧美日韩精品| 国产精品久久久久天堂| 亚洲黄网站黄| 免费美女久久99| 久久九九免费| 国产一区观看| 久久成人免费网| 亚洲特级片在线| 欧美日韩在线视频一区二区| 日韩视频免费| 欧美激情一区二区三区四区 | 久久xxxx| 99精品欧美| 欧美激情女人20p| 亚洲成色精品| 欧美一站二站| 欧美一区二区三区在线观看视频| 亚洲国产精品福利| 久久精品伊人| 国产一区二区成人久久免费影院| 亚洲在线免费| 一本色道久久88综合亚洲精品ⅰ | 欧美成人性网| 亚洲第一精品夜夜躁人人躁| 久久久91精品国产一区二区三区 | 欧美/亚洲一区| 欧美一区二区在线看| 国产精品美女久久久免费 | 欧美一级理论性理论a| 一区二区久久| 国产精品丝袜久久久久久app| 亚洲欧美日韩国产一区二区三区| 亚洲深夜福利在线| 国产视频精品xxxx| 久久伊伊香蕉| 欧美/亚洲一区| 一本一本大道香蕉久在线精品| 亚洲精品欧美一区二区三区| 欧美色大人视频| 欧美亚洲一区三区| 久久激情网站| 亚洲成人在线视频网站| 亚洲国产成人不卡| 欧美日韩国产精品成人| 午夜精品福利电影| 久久国产福利| 亚洲精品一区二| 一本色道久久综合一区| 国产精品网站在线观看| 久久在精品线影院精品国产| 男人天堂欧美日韩| 亚洲影视九九影院在线观看| 亚洲欧美一区二区原创| 国内欧美视频一区二区| 狠狠色狠狠色综合日日小说| 你懂的亚洲视频| 欧美精品在线播放| 欧美专区亚洲专区| 欧美成人综合在线| 久久成人综合视频| 欧美69视频| 欧美一二三区精品| 免费看av成人| 欧美在线观看一区| 欧美成人免费全部观看天天性色| 亚洲欧美福利一区二区| 久久亚洲欧美| 欧美一区二区三区精品| 欧美精品在线免费观看| 久久资源av| 国产无遮挡一区二区三区毛片日本| 欧美福利视频在线| 午夜精品电影| 一区电影在线观看| 久久综合网hezyo| 欧美专区日韩专区| 欧美日韩一区二区在线观看视频| 久久久久天天天天| 国产精品高潮粉嫩av| 欧美成人中文字幕在线| 国产欧美日韩综合精品二区| 最新国产精品拍自在线播放| 国内一区二区三区在线视频| 亚洲私拍自拍| 亚洲综合电影一区二区三区| 欧美成人小视频| 欧美国产日韩精品免费观看| 韩国av一区二区三区在线观看| 亚洲一二三区在线观看| 正在播放日韩| 欧美国产另类| 欧美国产在线观看| 在线观看欧美激情| 久久精品二区| 久久久欧美精品sm网站| 国产视频久久久久| 午夜精品视频一区| 午夜久久tv| 国产精品网站视频| 亚洲免费在线视频| 久久爱www久久做| 国产日韩欧美在线一区| 亚洲欧美另类中文字幕| 久久精品30| 一区二区在线观看av| 久久欧美中文字幕| 亚洲国产一成人久久精品| 亚洲精品资源美女情侣酒店| 欧美国产视频在线| 一本色道久久加勒比精品| 亚洲一区二区在线免费观看视频 | 激情成人在线视频| 性欧美精品高清| 欧美日韩在线三区| 中文日韩在线| 欧美午夜剧场| 在线中文字幕日韩| 欧美日韩美女在线观看| 在线视频你懂得一区二区三区| 亚洲综合色自拍一区| 国产区日韩欧美| 久久久成人网| 亚洲国产成人精品久久| 亚洲最新合集| 国产精品都在这里| 99re66热这里只有精品4| 欧美日韩在线电影| 狠狠入ady亚洲精品| 欧美电影在线观看| 亚洲深夜av| 噜噜噜久久亚洲精品国产品小说| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美理论电影网| 亚洲免费综合| 亚洲高清三级视频| 亚洲伊人色欲综合网| 狠狠色噜噜狠狠色综合久| 亚洲精品一区二区三区99| 亚洲国产欧美在线人成| 欧美成人一区二区三区| 亚洲视频一二| 欧美国产亚洲精品久久久8v| 亚洲欧美日韩一区二区三区在线| 国内久久精品| 国产精品高潮粉嫩av| 欧美成人亚洲成人| 欧美主播一区二区三区| 99精品视频一区| 欧美成人午夜激情在线| 欧美一区二区三区免费观看视频| 亚洲精品视频免费观看| 国产亚洲欧美一区二区三区| 欧美日韩99| 欧美成人福利视频| 久久精品中文| 午夜天堂精品久久久久| 99热在这里有精品免费| 黑人中文字幕一区二区三区| 国产精品国产精品国产专区不蜜| 免费亚洲网站| 欧美一区日韩一区| 亚洲欧美久久| 亚洲免费小视频| 国产亚洲视频在线|