Feed Sign in with OpenID OpenID

Simon Willison’s Weblog

The difference between POST and GET

How important is the ability to tell the difference between data sent by POST and data sent by GET (i.e in the query string) when developing web applications? Some web frameworks (such as PHP) provide separate mechanisms for accessing POST and GET data. Others (such as Python’s cgi module) provide a single interface to form information that doesn’t distinguish between the two. I already have a strong opinion on this but I’m going to leave it open for discussion here for a bit before weighing in.

This is The difference between POST and GET by Simon Willison, posted on 25th October 2003.

View blog reactions

Next: XUL in Safari

Previous: Microsoft's XUL

52 comments

  1. I don't know how important it is to differentiate, but it's definately important to understand the difference between the two. GET can be bookmarked, and POST can't be. This is a big thing if you're using search boxes and things like that. I generally make sure that all search boxes are GET and anything that's more "formish" is treated as a POST.

    petrilli - 25th October 2003 04:22 - #

  2. I take advantage of the fact that most sites use CGI when I create browser keywords for their search functions. But I wonder which value would take precedence if the same value was entered in both GET and POST.

    Mike - 25th October 2003 04:41 - #

  3. I think it's very important to be able to distinguish between the two. The best example I can think of is that you might want to disable passing users credentials (username/password) as a GET and only allow params like that to be passed via POST.

    Rich Manalang - 25th October 2003 05:05 - #

  4. I mean, unless you're sending too much data, I'm not really sure that it's that much more important which method you use; both can be spoofed, so neither is 'secure.' As someone mentioned above, I just use GET when the page needs to be bookmarkeable; otherwise I just use POST (cleaner URLs).

    roy - 25th October 2003 05:33 - #

  5. To check the method in Python, use os.environ["REQUEST_METHOD"]. Checking os.environ["CONTENT_LENGTH"] can also be a good idea (alternatively, set cgi.maxlen before parsing the request).

    Fredrik Lundh - 25th October 2003 07:21 - #

  6. My only rule: if the data is essential to navigation (like a google search), then Get is what should be chosen. Otherwise use Post. Get data is [typically] displayed in the location bar, so Get is a location only data.

    Security wise there is no difference. One can easily find tools that make editing Post data as easy as snipping a URI. Is there something else?

    So no, there is no difference, merely a preferance and a logical argument to what is more proper.

    Stephen - 25th October 2003 07:36 - #

  7. Using POST-based forms makes it harder for users to bookmark or pass around a query that has their password visible in it. This provides a certain modest amount of security. Similarly, POST data does not appear in web logs, whereas the full GET URL usually does. Given the places that URLs can get logged, POST makes me feel slightly more secure in general (which may be illusory).

    In addition, my code tends to check anyways, because if my web pages are all coded one way and someone is feeding me queries the other way it is usually a sign that something bad is being tried. (And when I am using POST deliberately because of the above security issues, I clearly want to reject GET attempts.)

    So overall: you should definitely be able to find out from the framework which way the query came in. A paranoid framework can increase security a tiny bit, at the expense of flexibility, by making people do different things in their code for GET versus POST; that way a 'wrong' query type will fail badly, no matter if the application doesn't check.

    Chris S - 25th October 2003 09:11 - #

  8. I think it is important to differenciate both.

    POSTs are handled differently in the browser, as you can't just "reload" them or bookmark them and the POST data doesn't appear in the browser's history. So a POST is the best option to send creds and to trigger actions (that you'd rather have happen only once).

    The rule of the thumb that I use is that POSTs should be used to change the state on the server (DB, Session) or client-side state (cookies) for multi-step operations on stateless servers.

    Although I don't know whether it is useful, another difference is that the POST body can be subject to a Content-Type whereas the querystring isn't.
    And last, the browser is always in control of the POST body so its format is always the same, whereas you'll find many custom querystring formats on the web.

    Dumky - 25th October 2003 09:29 - #

  9. The length of the query string in GET operations is limited to an arbitary length of characters depending on the browser you're using. Also, the encoding formats differ completely. With a POST operation, you can control the MIME-type of all data sent to the server. So you can post binary data, for example.

    With REST - based web services GET and POST are different operations alltogether.

    These are just off the top of my head... I think there's a strong argument in favor of not throwing both operations together in the name of usability.

    Not to mention that the HTTP protocol defines two seperate operations. If your application doesn't change its behaviour depending on the HTTP operation used, just do something along the lines of:

    public void doGet(HttpServletRequest req, HttpServletResponse resp){
    doPost(req, resp);
    }

    That's all it should take, really ;-).

    Jonas - 25th October 2003 09:33 - #

  10. Use POST if you want to send something to the server. Use GET if you want to receive something from the server.

    GET must not have side effects. Anything that does not have side effects should use GET. These are two axioms of Web architecture.

    Greg H. - 25th October 2003 09:58 - #

  11. I think that the question Simon is trying to ask is is it useful to be able to distinguish between variables that come in through the query string and variables that come in through the body of a POST request?

    I agree that it's important to know the difference between the two when constructing forms, web APIs, etc. However, I can't think of a good reason to be able to distinguish between the two types of variable from the server-side script's perspective.

    Even if you attempted to enforce the suggestions of RFC 2616 on the server-side (of dubious value; I think it's better enforced as a matter of practice when constructing the sending forms, etc.), then simply looking at the request method should be enough, surely?

    I get the impression that Simon leans towards the differentiating point of view; that's fair enough, and it's surely better to be more flexible than necessary than too rigid to be useful. I'd just like a single example of where it would be useful, and I haven't seen one yet (off to catch up on Web-SIG now!).

    Jim Dabell - 25th October 2003 13:23 - #

  12. There may well be security issues that can be avoided by using one method to retrieve POST data and another for GET data but what they might be I couldn't say. Other than that it's just adds an extra layer of complication for the coder doesn't it?

    pete - 25th October 2003 13:27 - #

  13. I'm working on a server-side Atom API implementation with python's WebWare and I just love how they manage the get the whole thing working: normally i don't need to distiguish between a POST or GET request so you just override witeContent() method, but when I need to I simple override respondToGet() and respondToPost() Page's method. Sweet.

    Atom makes also use of PUT verb, well time to define a respondToPut() then. In this way you get the best of the worlds... Simon, I hope you'll push for this approach in the Python's Web-SIG. ^__^

    dee - 25th October 2003 13:44 - #

  14. Re: effbot,

    I'm pretty sure that if you send a request such as:

    ---
    POST http://url/cgi-bin/form?hello=1 HTTP/1.0
    Content-Type: application/x-www-form-encoded
    [... other headers ...]

    world=1
    ---

    It's not possible to distinguish from whence the variables came from - which is different than distinguising if it's a POST or GET operation.

    Aaron Brady - 25th October 2003 14:58 - #

  15. cgi.parse_qs(os.environ.get("QUERY_STRING", "")) gives you a mapping containing only the URL variables.

    Fredrik Lundh - 25th October 2003 15:29 - #

  16. My opinion is a simple one: in case the user wants to get information, such as a list of search results, one should use method="get". If it is about posting information to a webmaster, comments system, etcetera, one should use method="post".

    Robbert Broersma - 25th October 2003 15:56 - #

  17. When using PHP I find myself doing this alot:

    if ($_SERVER['REQUEST_METHOD']=='POST')
    {
         //use $_POST
    }
    else
    {
         //use $_GET
    }
    

    The distinction is already available in the REQUEST_METHOD environment variable, so naming the dictionary differently doesn't really add anything, in my opinion, and in some cases can be downright annoying, like when I don't happen to care what the method is on some pages. In those cases, I have to resort to ugliness like this:

    $foo = $_SERVER['REQUEST_METHOD']=='POST'?$_POST['foo']:$ _GET['foo']; 
    do_something($foo)
    

    There is an extra level of indirection than necessary. What if we had to further clarify each dict with additional information already available in the environment vars like so:

    if ($_SERVER['GATEWAY_INTERFACE'] == 'CGI/1.1' && $_SERVER['SERVER_PROTOCOL'] == 'HTTP/1.0')
    {
         //use $_POST_CGI11_HTTP10['foo']
    }
    

    Patrick Lioi - 25th October 2003 15:58 - #

  18. Patrick, maybe you could use $_REQUEST ?

    Daniel Von Fange - 25th October 2003 16:38 - #

  19. I find that forcing people to distinguish between variables passed in via a GET vs. a POST increases brittleness, and closes down some of the potential for turning web apps into ad-hoc web services.

    kellan - 26th October 2003 00:16 - #

  20. I'm going to answer with a resounding "sometimes". I sometimes like to be able to see the difference between get and post input. Sometimes I don't care, especially for quick & dirty stuff.

    In PHP I always (for all input) use a function I wrote which by default looks for a variable in both the $_POST or $_GET arrays, with $_POST preferred. If you want to limit the search, you can pass in options to restrict the search to one or the other. Works great and is easy to change, for example when something moves from a quick hack to production ;-)

    The function also strips out tags, can trim to a given length, return a default value if the variable isn't there etc etc. It's an all purpose sanitizer and means the application can generally trust it's input without having to include specific checks every time.

    Julian - 26th October 2003 02:11 - #

  21. I have found it useful to be able to change forms from POST to GET on the fly using a bookmarklet.

    POST to GET: Lets you send a Merriam-Webster definition link to someone. (The forms on http://www.m-w.com/ are POST forms).

    GET to POST: Once, Asa was doing a simple but very long Bugzilla search, and he get a "URL too long" error. He used a modified version of that bookmarklet to change the form from GET to POST, and the search worked.

    Jesse Ruderman - 26th October 2003 09:28 - #

  22. Simon, could you please post a "summary" of this discussion?. Thanks.

    ssn - 26th October 2003 13:07 - #

  23. PHP makes available three super globals $_GET, $_POST and $_COOKIES so if you want to access them seperatly you can. There is a fourth super global available $_REQUEST which contains all the values from the _GET, _POST and _COOKIES array. basically all data supplied by the client is available thru _REQUEST. Data is added to this array according to the 'variables_order' php.ini setting by default 'EGPCS' (Environment, Get, Post, Cookie, Built-ins). It is processed left to right with new items overwriting old ones. In my experience it has always been easiest to use _REQUEST, except in some cases where doing user authentication and I've wanted to prevent people passing username and password in the url in which case just use _POST

    Adam Ashley - 27th October 2003 04:03 - #

  24. Combining cookies with GET and POST seems weird to me.

    Jesse Ruderman - 27th October 2003 08:36 - #

  25. perhaps but the idea behind it was that the _REQUEST array contains all variables retrieved from the client system, and thus is possibly untrust worthy.

    which is a much better state of affairs than the old way of ?test=1 becoming the variable $test at the top level of the script

    Adam Ashley - 28th October 2003 03:06 - #

  26. the difference between post and get is the letters. the post is p-o-s-t and the get is -g-e-t.

    tred - 5th November 2003 07:09 - #

  27. ju9pijujpoiup0ip0

    tiuiuguihiu - 2nd December 2003 10:02 - #

  28. ju9pijujpoiup0ip0

    tiuiuguihiu - 2nd December 2003 10:03 - #

  29. GET and POST are the 2 difeerent way one is for sending and one is for recieving so these should be used in this way

    Apoorv - 5th May 2004 08:14 - #

  30. Both these methods are used to send data from one form to another. I think the only difference between these two are.. 1. Get method does not show the values in the address URL 2. Post method shows all the values in the URL. Security wise Get method is safety. But now-a-days many users use only post method. But I dont know the reason. Any comments????

    karthik - 18th May 2004 05:58 - #

  31. alsla sa

    Muthla - 15th September 2004 15:41 - #

  32. GET uses querystring. guerystring has limited capacity.

    minu - 26th October 2004 12:34 - #

  33. and proxies make strange things witk urls witk special characters

    minu - 26th October 2004 12:37 - #

  34. kh

    k - 10th January 2005 05:48 - #

  35. my opinion is that POST is a bit secure than GET and one morething i shud stress is GET will remove the querystring so we can preserve the state in that context

    Bino - 19th January 2005 10:35 - #

  36. The difference between "get" and "post" is that the former means that form data is to be transfered into a URL by a browser, while the latter means that the form data is to be transferred in an invisible manner, inside the browser's own memory space. To be short, the "get" method is basically for just retrieving data, whereas the "post" method may involve anything, like updating or storing data, ordering a product, or sending electronic mail. Generally speaking, "post" is much more secure when transferring data from one page to another, as it does not include that data inside the url. However, prefer "get" if you have nothing to hide (i.e. email address, visitor logins and passwords, etc. ;)

    Ranganathan - 7th April 2005 21:29 - #

  37. If you have to use long urls you can try RUNTURL.com , it creates a short url from a long one also uses 302 Moved Permanently header so it won't hurt search engine rankings

    Eugeniu Amarii - 19th January 2006 18:10 - #

  38. okay...this is wat too many posts over a simple topic. POST is for large ammounts of data. such as posting maybe bug tracking reports to a database. IE's uri can only hold like 4026 chars. so just use GET unless your going to be using more than 4000 chars. or use post if you want cleaner URLs. (not a bunch of shit in the address bar) if your worried about security and your your passing passwords in plaintext... (yes even a hash) chances are you dont have a job where security matters that much anyway. Because if someone i worked with made authentication w/o SSL at least...i would probably have to kick them in the face....good night.

    charlie - 11th March 2006 02:33 - #

  39. how can debug the php script

    vikrant - 31st March 2006 14:19 - #

  40. How if we have links and NOT button? Is GET the only way to pass the data? How to pass the password?

    irene - 28th April 2006 08:40 - #

  41. did anyone actually read the question? , reading the comments suggests otherwise...

    nicke - 8th May 2006 17:50 - #

  42. It's important to me, occasionally, for reasons other than those stated above.

    I sometimes check to see if the method is POST at the beginning of a submission form document. If it is, I try to submit the data to the database, writing errors back to the document. Otherwise, I present the form without data filled in.

    This allows me to have one .php file that doubles as both a data submission form and a form action target. So people can quickly submit a series of records without going through the whole "Thank you for your submission. Wait 3 seconds for a redirect." kabuki dance.

    jhc - 12th May 2006 03:52 - #

  43. Anybody uses WebSphere Portal ? For example, WebShere Portal has a mechanismo to do single sign-on with thirty party applications.. .It has, however, a curious requirement.... that thirty party application needs to use form based authentication, with a GET method... It does not work if instead of GET; the thirty party application use POST for authentication.... Most of the application I saw so far, are using POST, so I can not integrated them, out of the box, with Single Sign ON.... I never understand why Websphere Portal has that requirement, neither why most of the applications used POST....

    Andres - 23rd June 2006 22:35 - #

  44. what script you use to post email or this messages.

    alberto - 30th June 2006 21:44 - #

  45. This is good knowledge about get and post. please tell me,how can i hide my data(means that it do not show on url) when i am sending data using post from one page to another page.

    Anil Nautiyal - 18th July 2006 09:49 - #

  46. szffffffffffffsssf

    zxcc - 19th July 2006 08:55 - #

  47. set the method POST and action in which page you want to wrok with the values of the 1st page .The values does not be shown on URL because on POST method the values goes thrue encrypted .

    sujoy - 19th July 2006 08:59 - #

  48. Please Create a forrum on Sssion And Cookies.

    kutu - 19th July 2006 09:11 - #

  49. gkhkgh gkhjg

    kg - 28th July 2006 05:56 - #

  50. From my xp, GET can be manipulated on the address bar, which is fine, unless you're using it for SQL queries, then it's a bad security flaw. Unfortunately when using POST, one can't hit the BACK button on the browser without it either crapping out in IE or bitching about it in Firefox...

    pRtkL xLr8r - 26th August 2006 03:41 - #

  51. I determine the differnce between POST and GET to do simple checks on queries and data hitting my site. I also determine if a user has a session cookie set when posting data, as otherwise (allowing cookie sessions only) there is no session and the user's data cannot be remembered. I tend not to allow GET save for static links

    Smiffy - 18th September 2006 20:56 - #

  52. Email Us Via.............cellworldltd@hotmail.com cellworldinc@yahoo.com CELL WORLD LTD We are importer ^ exporter of laptops and mobile phones. We deals on all New brands and models of Digital Cameras ,laptops ipods, ps 2, ps 3, xbox 360, and mobile phones such as Nokia,Motorola,Samsung, and many more at very cheap price, We do ship international and we use ( FEDEX and DHL ) for shipment.We are using this medium to look for buyers of mobile phones, Laptops, Digital Cameras. Do kindly reply back if you are intrested and as you do may God bless you . so you can contact us at viaâ�¦â�¦â�¦â�¦â�¦â�¦â� ¦â�¦â�¦â�¦â�¦â�¦â�¦â� ¦Ã¢ï¿½Â¦CELLWORLDLTD@HOTMAIL.COM NOKIA FOR SALE Nokia N93��..$250USd Nokia N92��.$200USD Nokia N83��.$175USD Nokia N91��.$180USD Nokia N90��.$170USD Nokia N70��.$150USD Nokia N71��.$155USD Nokia N72��..$160USD Nokia N73��..$165USD Nokia 7360��.$165USD Nokia 7380��..$175USD Nokia 7370��..$170USD Nokia 8800��$140USD Nokia 8801��.$145usd Nokia N80��.$160USD Nokia 7710��.$145USD Nokia 7610��.$120usd Nokia 9300��$145USD Nokia 9500��$170USD NEXTEL FOR SALE Nextel i930���$130usd Nextel i870���$120usd Nextel i860���$110usd SONY ERICSSON FOR SALE Sony Ericsson w900i�.$180USD Sony Ericsson W800i�.$135usd sony Ericsson w700�..$130usd sony Ericsson w600i�.$125usd sony Ericsson w300�..$120usd sony Ericsson w950�..$250USD Sony Ericsson p990i�.$145usd Sony Ericsson m600i�..$175usd sony Ericsson m600�..$170usd Sony Ericsson p990�..$140usd Sony Ericsson p910i�.$125usd TREO FOR SALE Treo 700�����$200usd Treo 600�����$150usd Treo 650�����$160usd MOTOROLA FOR SALE Motorola razor v3���$130usd Motorola razor v3 pink edition�.$130usd Motorola v3X������.$140 usd Motorola MPX300.,�$150usd Motorola V3i���.$150usd Motorola L7���.$140USD SAMSUNG FOR SALE Samsung D800���.$210USD Samsung D820���.$220USD Samsung D500���$160usd Samsung d600���$170usd SIDEKICK 2���.$10USD SIDEKICK 3���.$120USD I-MATE JASJER��.$260USD IPODS FOR SALE Apple 4 GB iPod Mini Pink M9435LL/A ��40 USD Apple 40 GB iPod photo������..4 0 USD Apple 4 GB iPod Mini Silver M9160LL/A �.40 USD Apple 60 GB iPod Photo M9830LL/A���.60 USD Apple 60 GB iPod photo ������.55 USD Apple 30 GB iPod Photo M9829LL/A���.50 USD Apple 512 MB iPod Shuffle MP3 Player��40 USD Apple 4 GB iPod Mini Blue M9436LL/A��.45 USD Apple 2 GB iPod NanoÃ¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿ ½Â¦.50 USD Apple 4 GB iPod NanoÃ¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿ ½Â¦.60 USD Apple 30 GB iPod Vidoe������.11 0 USD Apple 60 GB iPod Vidoe������.15 0 USD X box premium console ������ 190usd Ps3 â�¦â�¦â�¦â�¦â�¦â�¦â�¦à ¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦220usd Ps2 â�¦â�¦â�¦â�¦â�¦â�¦â�¦à ¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦Ã¢ï¿½Â¦..160usd SIDEKICK II AT JUST $120usd Mitac MIO 8930��$280usd TELEVISION FOR SALE DVD FOR SALE DVD Panasonic DVD-LS5 DVD Player�$150USD Mintek MDP-5860 DVD Player�..$90USD Panasonic DMR-E50S DVD Recorder�$190USD Samsung DVD-L200 DVD Player�.. $150USD TELEVISION Panasonic TH-42PD50U Television�..$600USD Panasonic TH-42PX50U Television�..$1000USD Panasonic TH-50PX50U Television�..$1500USD Panasonic TH-42PWD6UY Television�.$500USD Panasonic TH-42PD25U/P Television�$400USD Panasonic TH-42PHD8UK Television�.$450USD Panasonic TH-65PHD7UY Television�.$2500USD Pioneer PDP-5050HD Television��.$1000USD Panasonic TH-37PX50U Television�.$500USD Panasonic TH-42PX500U Television�$800USD Sony KLV-32M1 Television���$400USD Sony PFM-42V1/S Television���$500USD Sony KDE-61XBR950 Television��$5000USD Sony KDE-42XBR950 Television��$1000USD Sony PFM-42X1/S Television��.$500USD Sony KDE-42XS955 Television��$550USD Sony FWD-50PX1/S Television�..$1200USD Samsung HP-R4252 Television��..$500USD Samsung LN-R328W - LCD TV - 32�.$500usd Samsung LN-R408D - LCD TV - 40�.$800usd Samsung LT-P326W - LCD TV - 32�.$650usd Samsung LTM 225W - LCD TV - 22�.$500usd Samsung PPM63H3-plasma panel 63�$2000usd Samsung HP-P5071 50-inch 1366X768 HD Plasma TV Ref�..$800usd Samsung HPP5031 - plasma panel - 50�$1000usd Pioneer PDP-5050HD Television��.$1000USD Sharp 32� Aquos HD-Ready LCD TV�.$500usd. LAPTOP FO SALE LAPTOPS Dell Latitude C640 1.8GHz P4 Laptop w/CD-RW��$350USD Dell Inspiron XPS M140 Notebook Computer for Home�..$480USD Sony VAIO FS540P - Pentium M 730 1.6 GHz - 15.4� TFT�$500USD Sony Intel Pentium M 100GB Notebook Computer with DVD+/-R/RW Drive�$550USD ThinkPad G40 2389 - C 2.5 GHz - 14.1� TFT IBM�..$580USD Panasonic Toughbook 18 Touchscre��$500USD HP Compaq Business Notebook nc8230 - Pentium M 760 2 GHz - 15.4� TFT�$950USD HP Compaq Mobile Workstation nw8240 - Pentium M 760 2 GHz - 15.4� TFT�$780USD OFFICE EQUIPMENT PLV-80 16:9 Widescreen WXGA Home Theater Multimedia Projector�.$10,000usd magicolor 2430DL Color Laser Printer (20 PPM, 2400x600 DPI, Color, 32MB, PC/Mac)�$150usd Minolta Dimage Scan Dual IV - film scanner (35 mm)�..$100usd EP7120 DLP Projector (1024x768, 1600:1)��$400usd Optoma H 31 - DLP projector��$400usd 110� Velvet Wrapped Luxurious Sensation Series DT1100 HDTV Fixed Projection Screen�$350usd PowerLite Home 10+ Ultra-Portable Multimedia Projector�..$500usd ScreenPlay 4805 Projector by InFocus���$550usd Panasonic PT LB30NT - LCD projector��..$800usd PIXMA MP950 PHOTO MLTFUNC AIO 22/29PPM P/C/S��.$150usd Elite Screens VMAX120UWH 121in 16:9 Electric Projector�..$150usd Da-Lite Cinema Contour 144 x 192-in Pearlescent��.$500usd MP610 DLP Projector (800x600, 2000 Lumens, 2000:1)�..$300us LAPTOP FOR SALE SONY VAIO A217S� 100GB� 512MB RAM� XP HOMEÃ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï ¿½-$500 SONY VAIO B1VP� 40GB HD� 512MB RAM� XP PROÃ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿ ½Ã¢ï¿½ï¿½$430 SONY VAIO T370P/L� 60GB HD� 512MB RAM� XP������ ��$400 SONY VAIO A215Z 60GB HD� 512MB RAM� XP������ ���$6450 SONY VAIO A397XP� 80GB HD� 512MB RAM� XP������ ��$700 SONY VAIO B100B08 60GB HD� 512MB RAM� XP������ �-$450 SONY VAIO B100B08 60GB HD� 512MB RAM� XP������ �-$600 SONY VAIO FS295VP 80GB HD� 512MB RAM� XP������ �-$550 SONY VAIO FS215Z 100GB HD� 512MB RAM� XP������ �-$650 SONY VAIO A417M 80GB HD� 512MB RAM� XP������ ��-$650 SONY VAIO B1VP� 40GB HD� 512MB RAM� XP PROÃ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿ ½-$300 SONY VAIO T370P/L� 60GB HD� 512MB RAM� XP PRO�����$600 SONY VAIO LAPTOP� VGN-A117Sâ��â��â��â��â��à ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï ¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½$600 SONY VAIO LAPTOP� VGN-S1XPâ��â��â��â��â��â ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿ ½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï ¿½$800 ALPHASMART DANA PALM POWERED LAPTOPÃ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿ ½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï ¿½$330 APPLE G4 POWERBOOK 1.5GHZ SUPERDRIVE WITH 15 INCH DISPLAY�$700 APPLE G5 POWERMAC 2.0GHZ DESKTOP COMPUTERâ��â��â��â��â��â ��-$700 APPLE G4 POWERBOOK 1.5GHZ SUPERDRIVE WITH 17 INCH DISPLAY�$600 APPLE G5 POWERMAC 2.5GHZ DESKTOP COMPUTER����-$100 TOSHIBA SATELLITE LAPTOP� P20-102Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï ¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ ��$500 APPLE 5GHZ SUPERDRIVE DESKTOP COMPUTER WITH 20 INCH MONITOR-$4500 TOSHIBA SATELLITE LAPTOP� P10-803Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï ¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ ���-$500 ALPHASMART DANA PALM POWERED LAPTOPÃ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿ ½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï ¿½$350 ALPHASMART DANA PALM POWERED LAPTOP PACK WIFI VERSION-$400 OQO MODEL 01 ULTRA PERSONAL COMPUTER (XP PRO)Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï ¿½Ã¢ï¿½ï¿½$450 TOSHIBA SATELLITE PRO A60 40GB� C2.8GHZ� 15INCH� DVD/CDR$450 FLYBOOK NOTEBOOK - WI-FI� GPRS� BLUETOOTH� 1GHZ (BLACK)��$550 FUJITSU SIEMENS LIFEBOOK P7010 60GB� P4 1.1GHZ� 10.6INCH� DVD/CDRW $600 ASUS A4744K-LH AMD64 POWER WORKSTATION LAPTOP����$450 FLYBOOK NOTEBOOK - WI-FI� GPRS� BLUETOOTH� 1GHZ (RED)���$610 FLYBOOK NOTEBOOK - WI-FI� GPRS� BLUETOOTH� 1GHZ (BLUE)��-$500 ALPHASMART DANA PALM POWERED LAPTOPÃ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿ ½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï ¿½$300 FLYBOOK NOTEBOOK - WI-FI� GPRS� BLUETOOTH� 1GHZ (YELLOW)�$500 TOSHIBA TECRA M2 40GB� PM 1.5GHZ� 14INCH� WIFI� DVD-CDRW��$500 FLYBOOK NOTEBOOK - WI-FI� GPRS� BLUETOOTH� 1GHZ (SILVER)�-$500 TOSHIBA PORTEGE R100 40GB� 512MB� XP PROÃ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿ ½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½$500 TOSHIBA SATELLITE LAPTOP� M30-742Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï ¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ ����-$550 APPLE G5 POWERMAC 1.8GHZ DESKTOP COMPUTERâ��â��â��â��â��â ���$500 HP PAVILION LAPTOP� ZD7145EAâ��â��â��â��â��â ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿ ½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½-$500 HP PAVILION LAPTOP� ZD7255EAâ��â��â��â��â��â ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿ ½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½-$500 APPLE CINEMA HD 23-INCH TFT LCD MONITORÃ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï ¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½-$500 SONY VAIO LAPTOP� VGN PCGK21 5Z������ â��â��â��â��â��â��â ���$500 SAMSUNG LAPTOP� X30 LWC 1500Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï ¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½ ����$500 G4 POWERBOOK 1.33GHZ SUPERDRIVE WITH 12 INCH DISPLAY-$600 SONY VAIO PCVW2 DESKTOPÃ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï ¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿ ½-$450 HP PAVILION LAPTOP� ZX5151EA PHOTOSMART����� ����-$400 TOSHIBA SATELLITE LAPTOP� M30-832Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï ¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ ���$400 HP PAVILION LAPTOP� ZT3215EAâ��â��â��â��â��â ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿ ½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½$550 SAMSUNG LAPTOP� M40 HWM 745Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿ ½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½$500 APPLE G4 POWERBOOK 1.3GHZ COMBO WITH 15 INCH DISPLAY-$700 TOSHIBA SATELLITE LAPTOP� P20-801Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï ¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ ���-$500 APPLE GHZ SUPERDRIVE DESKTOP COMPUTER WITH 20 INCH MONITOR$450 HP PAVILION LAPTOP� ZX5275EAâ��â��â��â��â��â ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿ ½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½$400 SONY VAIO LAPTOP� VGN PCGK21 5S������ â��â��â��â��â��â��â ��-$400 HP PAVILION LAPTOP� ZT3350EAâ��â��â��â��â��â ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿ ½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½$400 SAMSUNG LAPTOP� X15PLUS HZMÃ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿ ½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã ¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½$350 APPLE G4 POWERBOOK 1.33GHZ COMBO WITH 12 INCH DISPLAY$550 SONY VAIO LAPTOP� PCGK215Mâ��â��â��â��â��â ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿ ½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½-$400 SONY VAIO DESKTOP� RS504â��â��â��â��â��â� ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿ ½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½- $400 HP PAVILION LAPTOP� ZX5030Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿ ½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï ¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½ $400 TOSHIBA SATELLITE LAPTOP� M30-106Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï ¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ï¿½Ã¢ï¿½ ���$400 HP MEDIA CENTER DESKTOP COMPUTER� M1080 PHOTOSMART�-$400 APPLE IBOOK 1.2GHZ COMBO WITH 14.1 INCH DISPLAY����-$400 CONTACT US viaâ�¦â�¦â�¦â�¦â�¦â�¦â� ¦â�¦â�¦â�¦â�¦â�¦â�¦â� ¦CELLWORLDLTD@HOTMAIL.COM Email Us Via.............cellworldltd@hotmail.com cellworldinc@yahoo.com

    sara freder - 2nd October 2006 20:41 - #

Comments are closed.

Previously hosted at http://simon.incutio.com/archive/2003/10/25/difference

A django site