• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Cookie的使用來彌補http的缺陷

    發布: 2007-6-23 19:14 | 作者:   | 來源:   | 查看: 11次 | 進入軟件測試論壇討論

    領測軟件測試網

       
      HTTP協議是非常強大的。不過,它有一個缺陷就是不記憶狀態。這意味著,當一次HTTP會話結束后,不管是客戶還是服務器,都不記憶剛剛發生的會話。這有可能導致一些麻煩,因為服務器無法知道一些重要的事情,諸如口令、發給客戶的紀錄等!
      

      HTTP協議提供了一個基本方法可以讓客戶的機器中保存一些信息,這樣,服務器就可以從中知道上一次HTTP會話的的情況,這就是所謂的Cookie! ookie實際是一個字符串,它的格式是 CookieName=CookieValue。Cookie中不應該有分號或逗號?蛻艨梢跃芙^Cookie,所以任何一個Web應用程序不能認為客戶的機器肯定有Cookie。察看Cookie的情況可以在WindowsCookies中找! ≡贒elphi中管理Cookie是一件非常容易的事。
      
      THTTPRequest和THTTPResponse都封裝了用來處理Cookie的特性和方法,允許您控制怎樣讀寫Cookie! ∫O置Cookie的內容,您可以調用TWebResponse的SetCookieField的方法。這個方法需要傳遞一個TStrings對象作為Cookie的內容以及這個Cookie的限制條件。
      SetCookieField()方法是這樣聲明的:  procedure SetCookieField(Values:TStrings;const ADomain,APath:string;AExpires:TDateTime;ASecure:Boolean);Values參數是一個TStrings對象(也可以使用TStringList對象),用于指定Cookie的實際內容。Values中可以包含多個Cookie。ADomain 參數用于限制服務器的域,Cookie只對特定域的服務器是有效的。如果這個參數為空,Cookie將被傳遞給任何一個服務器。一般情況下,應當把這個參數設為Web服務器的域名。
      APath參數用于指定一組路徑,Cookie只在特定的路徑下是合法的。AExpires參數用于指定Cookie在多長時間內是合法的,由于時差的原因,這個時間應當基于GMT時區。如果您想使Cookie的有效時間是10天,就應當把這個參數設為Now+10。如果要使一個Cookie無效,這個參數可以設為過去的一個時間。注意,一個Cookie無效后,就不會被傳遞給服務器,但并不從客戶機中刪除。ASecure參數是一個boolean值,如果這個參數設為True,表示Cookie只能通過HTTP或SSL傳遞。一般情況,這個參數設為False!
       在Web服務器端,您可以通過TWebRequest的CookieFields特性訪問由客戶傳遞來的Cookie。這個特性是一個TStrings對象,每個Cookie的格式是param=value。調用TWebRequest的ExtractCookieFields()方法可以把多個Cookie分解為一個個字符串! ookie可以保存任何字符串所能表達的信息。Cookie的長度最多可達4KB,客戶的機器最多可以保存300個Cookie.每個服務器或域的Cookie不超過20個。下面舉一個例子說明Cookie的應用:var
      CookList : TStringList;
      iBZ,fcbz:integer; begin
      CookList := TStringList.Create;
      try
      CookList.Add('NSRID='+ sNSRID);
      CookList.Add('NSRMC=' + sNSRMC);
      CookList.Add('WJBM=' + sWJBM);
      CookList.Add('YHZH=' + sYHZH);
      iBZ:=0;
      fcbz:=0;
      CookList.Add('BZ=' + IntToStr(iBZ));
      CookList.Add('FCBZ=' + IntToStr(fcbz));
      Response.SetCookieField(cookList,'','',Now+10,False);
      finally
      cookList.Free;
      End;
      End;//創建Cookie  iBZ:=StrToInt(Request.CookieFields.Values['BZ']);//使用Cookie

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>