summaryrefslogtreecommitdiff
path: root/hurd/translator/httpfs.mdwn
blob: 8b02aa061793090fd6cd8f45eaee1c6390d49e28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
[[!meta copyright="Copyright © 2013 Free Software Foundation, Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]

`httpfs` is a virtual filesystem allowing you to access web pages and files.

While the httpfs translator works, it is only suitable for very simple use cases: it just provides the actual file contents downloaded from the URL, but no additional status information that are necessary for interactive use. (Progress indication, error codes, HTTP redirects etc.)

# Source

<http://www.nongnu.org/hurdextras/#httpfs>


# Documentation

## IRC, freenode, #hurd, 2013-09-03

[[!tag open_issue_documentation]]

    <congzhang> hi, why I can't cd to /http:/richtlijn.be/~larstiq/hurd/ to do
    <congzhang> 	    grep?
    <pinotree> this is not ftp
    <congzhang> it works for other file
    <pinotree> ?
    <congzhang> I can't cd to ~larstiq, I don't know why
    <pinotree> http is not a filesystem protocol
    <pinotree> while httpfs could try in representing it as such, it is not
      something reliable
    <congzhang> ok, it's not reliable
    <congzhang> I expect it can expose dir like browser
    <congzhang> so, the translator just know href from home page, and one by
      one
    <pinotree> uh?
    <congzhang> if ...:80/a/b/c.png exits, but not has a href in homepage, so I
      can't cd to a, right?
    <pinotree> you are looking things from the wrong point of view
    <pinotree> a web server can do anything with URLs, including redirecting,
      URL rewriting and whatever else
    <congzhang> so, how to understand httpfs's idea?
    <congzhang> how httpfs list dir?
    <pinotree> check its code
    <congzhang> en, no need it's not reliable
    <congzhang> it's not work, it's enough
    <congzhang> I have an idea, for the file system, we explore dir level by
      level, but for http, we change full path one 
    <congzhang> once time
    <congzhang> maybe can allow user to cd any directory, and just mark as some
      special color to make user know the translator was not sure, file exist
      or not
    <congzhang> once the file exits, mark all the parent directory as normal
      color?
    <rekado> congzhang: you can find more info about httpfs here:
      http://nongnu.org/hurdextras/
    <pinotree> congzhang: you're still looking at http from the wrong point of
      view
    <pinotree> there are no directories nor files
    <pinotree> you start a request for a URL, and you get some content back (in
      case there's no error)
    <congzhang> you mean httpfs just for kidding?
    <pinotree> that the content is a web page listing a directory on the
      filesystem of the web server machine, or a file sent back via the
      connection, or a complex web page, it's the same
    <rekado> congzhang: you can only get a list of files if the web server
      responds with an index of files
    <pinotree> "files"
    <rekado> The readme explains how httpfs does its thing:
      http://cvs.savannah.gnu.org/viewvc/*checkout*/httpfs/README?root=hurdextras
    <congzhang> if I can't cd to /http:/host/a/b how to get
      /http:/host/a/b/c.html, even the file exist?
    <pinotree> you don't cd in http
    <pinotree> cd is for changing directory, which does not apply to a protocol
      like http which is not fs-oriented
    <congzhang> yes, I agree with you, http was not fs-oriented
    <congzhang> so httpfs was not so useful
    <rekado> You can access the document directly, though, can't you?
    <congzhang> rekado: I try once more
    <congzhang> I can't
    <congzhang> so, the httpfs need some extend, http protocol was not fs
      oriented, so need some extend to make it work with file system
    <pinotree> http is not designed for file system usage, so extending it is
      useless
    <congzhang> or, httpfs was not so useful
    <pinotree> there are many other protocols for file systems
    <congzhang> I don't think so
    <pinotree> i do
    <congzhang> if we can't make it more useful, remove it from hurd rep, or
      extend it more useful
    <congzhang> add some more rule, to make it work with file system
    <pinotree> no
    <congzhang> some paradox in it
    <pinotree> which paradox?
    <congzhang> for http vs file system
    <pinotree> ???
    <congzhang> tree oriented and  star topology oriented?
    <pinotree> you don't make any sense