Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Не особо он сложный, в своё время реализовывал под МК. Реализаций море: http://9p.cat-v.org/implementations
Обмен идёт секторами
Фактически, сам Фантом использует протокол именно как remote disk.
$ exec 3<>/dev/tcp/google.com/80
$ echo -en "GET / HTTP/1.0\n\n" >&3
$ cat <&3
HTTP/1.0 302 Found
Location: http://www.google.ie/?gws_rd=cr&ei=YuEkV7GAIYmRgAbP4ZboBA
Cache-Control: private
Content-Type: text/html; charset=UTF-8
P3P: CP="This is not a P3P policy! See https://www.google.com/support/accounts/answer/151657?hl=en for more info."
Date: Sat, 30 Apr 2016 16:46:26 GMT
Server: gws
Content-Length: 258
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Set-Cookie: NID=79=HvOpf6lsXXis3fovmnHG_mRShtGaFIGCv_lS8lBdqcbSwAnZ5jPm9fPlznmxTiJMnsIvm7H1xbqrDhLBtizqTLfXMj5YuYj5FX8x3OdFeyDRy1coRn92y66-ANaIrU7u; expires=Sun, 30-Oct-2016 16:46:26 GMT; path=/; domain=.google.com; HttpOnly
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.ie/?gws_rd=cr&ei=YuEkV7GAIYmRgAbP4ZboBA">here</A>.
</BODY></HTML>
Ну так есть же connect, в чем смысл менять стандартный набор API на текстовый интерфейс /dev/host/port?
connect."Все программы Юникса" умеют работать с fd, так что можно отлично пайпить через nc, curl, socat, в конце концов. Разве с этим была какая-то проблема? API чтения и записи унифицированы.
cat header <(nc weather1.site) divider <(nc weather1.site) footer >weather.html
аутентикация должна происходить на уровне ядра, и именно оно должно спрашивать пароль по запросу, если необходимо
Если нужна аутентификация, то все что должно сделать ядро — вернуть запрос на пароль, что с этим будет делать приложение — это уже задача приложения.
в Windows, например, все подобные запросы обрабатываются на уровне explorer.exe
vi ftp://server/file, мне надо к этому серверу ввести ключи в определённый сервис. Недалеко ушли от монтирования ))cp /dev/ftp/... myfile, разрегистрировал пароль, зарегистрировал новый пароль… Короче, костыль, как глобальные переменные в программировании.Есть ещё одна вещь, которой нет в современном Юниксе
$ nc -l host port > local_file$ nc host port < local_filePKT_T_WrireRQ
db2 select * from Customers where City = 'Moscow';
UDP/TCP File System, Trivial Remote File System