Difference between revisions of "Talk:LSL HTTP server"

From Second Life Wiki
Jump to navigation Jump to search
m
(→‎Parcel resources: new section)
 
(24 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{Talk}}
{{Talk}}


I believe one of the worst-case scenarios from XML-RPC today is the InnerLife / Mandala Web Temple architecture.  Last I experimented (with an early format) we got stable results at 4 second intervals (this was back in mid-2006); We wanted faster (not enough for a proper biofeedback interface) so most dropped the project.  Be aware that we wanted something that could be sustained for long intervals (3-4 hours straight, possibly with multiple avatars contributing toward 'merged' results).  I'm not certain what the current request load is today, you can check with 'Carlos Tapioca' in-world as he is still actively perusing this.  I'll also direct him here.  [[User:Alan Kiesler|Alan Kiesler]] 22:42, 6 April 2008 (PDT)
== Stable URL ==


== URL_REQUEST_TIMEOUT ==
I am sorry but I fail how this can make any sense without a stable URL. The url could consist of the region name and UUID of the object for example. But if there is no way to query it and it changes all the time, how is this supposed to be useful? --[[User:Maike Short|Maike Short]] 12:53, 17 October 2008 (PDT)
I think there should be a URL_REQUEST_TIMEOUT method. That way the script has a chance to catch the event and send the user some meaningful information before the connection actually cut. A user could have two scripts, one that handles the HTTP serving while the other gathers data. If the data gathering sends the data as it receives it then the HTTP script can cache the data and when it receives all of it or the timeout is thrown it can send the data it has. If the script misses the window on the connection and the event was queued then it should be dequeued and not triggered. -- [[User:Strife Onizuka|Strife Onizuka]] 16:53, 16 May 2008 (PDT)


- ''There are no plans for such an event.  Requests will time out which will send a timed out error / status (504 Gateway Timeout) to the requester. Events are a scarce resource in LSL, also anything that lets you do 'one last thing' before a time out either creates a time out loophole or is already too late.  If you find your requests are frequently timing out you will need to adjust your code to return smaller result sets more frequently. - [[User:Kelly Linden|Kelly Linden]] 10:55, 13 June 2008 (PDT)''
:The short answer: It doesn't scale, it's up to the users to implement stable URLs on top of it. The long detailed answer can be found in the comments of {{User|Kelly Linden}} in {{Jira|SVC-1086}}. -- '''[[User:Strife_Onizuka|Strife]]''' <sup><small>([[User talk:Strife_Onizuka|talk]]|[[Special:Contributions/Strife_Onizuka|contribs]])</small></sup>


== HTTP_STATUS_* ==
== Wrong Content type ==
The article says
: "The content type of the returned data is always 'text/plain; utf-8'"
but [[:Image:Lsl_http_server.JPG]] shows xml. So the content type text/plain is wrong and must be text/xml or application/xml. It may be better to allow returning of text without that xml structure, through as it is easier to parse and can be extended to html without breaking compatibility by allowing the setting of text/html as content type. --[[User:Maike Short|Maike Short]] 02:51, 18 October 2008 (PDT)


Might be beneficial to have HTTP_STATUS_* code constants. -- [[User:Strife Onizuka|Strife Onizuka]] 20:34, 16 May 2008 (PDT)
: ''That is a really, really, really old teaser shot.  I'll get a new one up, and at least stop linking to that one.  It is not representative at this point.'' [[User:Kelly Linden|Kelly Linden]] 10:47, 19 October 2008 (PDT)


- ''Specifically which codes do you want defined this way?  I'd like to keep the number of constants to a minimum, would _OK (200), _MISSING (404) and _ERROR (500) be enough? - [[User:Kelly Linden|Kelly Linden]] 10:47, 13 June 2008 (PDT)''
== i haven't been able to get this to compile ==


: Those sound good. -- [[User:Strife Onizuka|Strife Onizuka]] 11:42, 13 June 2008 (PDT)
is this service available?
: Should have one for that evil Linden error 499 (for use with the [[llHTTPRequest]] side of things). -- [[User:Strife Onizuka|Strife Onizuka]] 23:30, 16 June 2008 (PDT)
because my scripts never compile...
should i ask the land owner to open the land to this service, or is this not an available option yet?
if it's not available, when will it become available?


== robots.txt ==
:this become available on the main SL grid since July 2009. --[[User:Opensource Obscure|oobscure]] 22:51, 11 July 2009 (UTC)
Do we want google spidering the caps urls? -- [[User:Strife Onizuka|Strife Onizuka]] 20:34, 16 May 2008 (PDT)


- ''This is a good point, and probably not. - [[User:Kelly Linden|Kelly Linden]] 10:56, 13 June 2008 (PDT)''
== Queries Regarding Limited URLs / Region ==
While preparing a script for use once HTTP-IN is 'live', it suddenly occurred to me that there may be a rather significant difficulty with URL-availability for avatars.  Many users 'rent' land on private regions, and many of these private regions do not actually 'sell' that land to the renter. In these situations, the URL would not be available to the renter, would it?


== Payload Size Limits / Content ==
Taking another situation -- say land is owned by a group.  Do all members of the land-ownership group have access to the URL allotment on that land?  If so, that may solve the renter issue above (as most renters are put into a land group).  If not, who receives the URL permissions with group-owned land?  Is it possible to restrict URL permissions of group own land by a permission option in the group role definitions?[[User:Kenn Nilsson|Kenn Nilsson]] 16:36, 30 May 2009 (UTC)


Will the data payload size be similar to the current http_response limits? And will we be able to implement something like reverse http with it?
== There are some "personal" URLs. What are their condition of automatic releasing/renewing? ==
These are also set per parcel? So they renew after TP?
Also, say, if some lousily-scripted piece of apparel uses all of my available URLs. And maybe all region URLs are eaten by a griefer or idk.
How can I flush them, my personal ones? --[[User:Web Gearbox|Web Gearbox]] ([[User talk:Web Gearbox|talk]]) 01:12, 7 September 2015 (PDT)


Thanks,
== Parcel resources ==


BlueWall <j>
**: ''Like [[prim|prims]], all the [[Land#Parcel|parcels]] owned by the same owner and in the same [[region]] share the same pool of resources.''
**: ''If you have two [[Land#Parcel|parcels]] in a [[region]] that each support 100 URLs, then you could use all 200 in object(s) on a single [[Land#Parcel|parcel]].''


- ''There will be payload size limits for PUT and POST, and a max lengh for x-untrusted-argument. And no, you will not be able to implement something like reverse http. There is no provision for 'upgrade' and requests time out rather quickly (<25 seconds) which will make any long poll mechanism difficult - [[User:Kelly Linden|Kelly Linden]] 15:10, 17 June 2008 (PDT)''
I don't believe this is actually true, and doesn't seem to be true in testing. The parcels have to be actually joined for this to work. [[User:Casper Warden|Casper Warden]] ([[User talk:Casper Warden|talk]]) 17:58, 10 November 2015 (PST)
 
== Content-Type ==
 
What about the content-type and more importantly charset? Will it be utf-8? Are URLs in utf-8? Is it "text/plain; charset=utf-8" then? - [[User:Thomas Shikami|Thomas Shikami]] 20:31, 16 June 2008 (PDT)
 
- ''Yes, responsees will be "text/plain; charset=utf-8".  We will attempt to transcode the body of POST and PUT actions to UTF-8 before they hit the script.  URLs will be url encoded - including the 'x-untrusted-argument' which will remain url encoded until (if) the scripter uses llUnescapeURL. - [[User:Kelly Linden|Kelly Linden]] 15:01, 17 June 2008 (PDT) ''
 
== Landowner only usage? ==
 
:* Not all requests for an url will succeed, the scripter is expected to handle the failure case.
:* The number of available urls will be based on the amount of land owned in the region
 
As the majority of my work is placed on land I don't own, does this mean I'm going to be in "last place" when it comes to getting URLs? And if it fails, am I then left to using XML-RPC and email again? Seems pointless to build this in if I still need to have the script set up the other systems, with their associated timers and failsafes. Also, what kind of limits are we talking about per sim? I'm thinking of a rental system I made with approx 40-50 rental units on a sim. Each one would need to be updated from the web - and http in would be perfect, but only if the limits make it feasible and reliable. ~~ {{User|Hippyjim Starbrook‎}} 15:37, 15 July 2008 (PDT)

Latest revision as of 17:58, 10 November 2015


Stable URL

I am sorry but I fail how this can make any sense without a stable URL. The url could consist of the region name and UUID of the object for example. But if there is no way to query it and it changes all the time, how is this supposed to be useful? --Maike Short 12:53, 17 October 2008 (PDT)

The short answer: It doesn't scale, it's up to the users to implement stable URLs on top of it. The long detailed answer can be found in the comments of Kelly Linden in SVC-1086. -- Strife (talk|contribs)

Wrong Content type

The article says

"The content type of the returned data is always 'text/plain; utf-8'"

but Image:Lsl_http_server.JPG shows xml. So the content type text/plain is wrong and must be text/xml or application/xml. It may be better to allow returning of text without that xml structure, through as it is easier to parse and can be extended to html without breaking compatibility by allowing the setting of text/html as content type. --Maike Short 02:51, 18 October 2008 (PDT)

That is a really, really, really old teaser shot. I'll get a new one up, and at least stop linking to that one. It is not representative at this point. Kelly Linden 10:47, 19 October 2008 (PDT)

i haven't been able to get this to compile

is this service available? because my scripts never compile... should i ask the land owner to open the land to this service, or is this not an available option yet? if it's not available, when will it become available?

this become available on the main SL grid since July 2009. --oobscure 22:51, 11 July 2009 (UTC)

Queries Regarding Limited URLs / Region

While preparing a script for use once HTTP-IN is 'live', it suddenly occurred to me that there may be a rather significant difficulty with URL-availability for avatars. Many users 'rent' land on private regions, and many of these private regions do not actually 'sell' that land to the renter. In these situations, the URL would not be available to the renter, would it?

Taking another situation -- say land is owned by a group. Do all members of the land-ownership group have access to the URL allotment on that land? If so, that may solve the renter issue above (as most renters are put into a land group). If not, who receives the URL permissions with group-owned land? Is it possible to restrict URL permissions of group own land by a permission option in the group role definitions?Kenn Nilsson 16:36, 30 May 2009 (UTC)

There are some "personal" URLs. What are their condition of automatic releasing/renewing?

These are also set per parcel? So they renew after TP? Also, say, if some lousily-scripted piece of apparel uses all of my available URLs. And maybe all region URLs are eaten by a griefer or idk. How can I flush them, my personal ones? --Web Gearbox (talk) 01:12, 7 September 2015 (PDT)

Parcel resources

    • Like prims, all the parcels owned by the same owner and in the same region share the same pool of resources.
      If you have two parcels in a region that each support 100 URLs, then you could use all 200 in object(s) on a single parcel.

I don't believe this is actually true, and doesn't seem to be true in testing. The parcels have to be actually joined for this to work. Casper Warden (talk) 17:58, 10 November 2015 (PST)