Return-Path: X-Original-To: apmail-couchdb-user-archive@www.apache.org Delivered-To: apmail-couchdb-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8A498DF99 for ; Mon, 29 Oct 2012 08:26:59 +0000 (UTC) Received: (qmail 44293 invoked by uid 500); 29 Oct 2012 08:26:58 -0000 Delivered-To: apmail-couchdb-user-archive@couchdb.apache.org Received: (qmail 44065 invoked by uid 500); 29 Oct 2012 08:26:57 -0000 Mailing-List: contact user-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@couchdb.apache.org Delivered-To: mailing list user@couchdb.apache.org Received: (qmail 44041 invoked by uid 99); 29 Oct 2012 08:26:57 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Oct 2012 08:26:57 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of gcdcu-couchdb-user@m.gmane.org designates 80.91.229.3 as permitted sender) Received: from [80.91.229.3] (HELO plane.gmane.org) (80.91.229.3) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Oct 2012 08:26:51 +0000 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1TSkg7-0002V9-Bc for user@couchdb.apache.org; Mon, 29 Oct 2012 09:26:35 +0100 Received: from 14-202-136-129.static.tpgi.com.au ([14.202.136.129]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 29 Oct 2012 09:26:35 +0100 Received: from sam by 14-202-136-129.static.tpgi.com.au with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Mon, 29 Oct 2012 09:26:35 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: user@couchdb.apache.org From: Sam Stainsby Subject: Re: literal '+' in URL when creaitng a database Date: Mon, 29 Oct 2012 08:26:16 +0000 (UTC) Lines: 32 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: 14-202-136-129.static.tpgi.com.au User-Agent: Pan/0.136 (I'm far too busy being delicious; GIT 926a150 git://git.gnome.org/pan2) X-Virus-Checked: Checked by ClamAV on apache.org On Mon, 29 Oct 2012 08:23:09 +0100, Benoit Chesneau wrote: > On Mon, Oct 29, 2012 at 8:05 AM, Sam Stainsby >> I understand that '+' has special significance in the query part of a >> URL, but not the path part, so I think the above should work. > '+' would mean space on the file system if I recall correctly. Which > could be problematic on some platforms. Hi Benoit, How couch encodes that as a file name in an OS would be internal to couch, so if couch is using query string encoding for the file name, that may be a good choice for OS portability. However, my understanding is that '+' representing a space in a URL is only valid for the *query* part of a URL. "Within the query string, the plus sign is reserved as shorthand notation for a space. Therefore, real plus signs must be encoded. This method was used to make query URIs easier to pass in systems which did not allow spaces." (http://www.w3.org/Addressing/URL/4_URI_Recommentations.html) "For HTTP URLs, a space in a path fragment part has to be encoded to "%20" (not, absolutely not "+"), while the "+" character in the path fragment part can be left unencoded." http://www.lunatech-research.com/archives/2009/02/03/what-every-web- developer-must-know-about-url-encoding Cheers, Sam.