LINUX.ORG.RU

Тип файла и ETag


0

0

Пишу сейчас веб-сервер. Нужно определить тип файла, например text/plain Как это сделать? [quote]

->telnet 127.0.0.1 80 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. ->GET /test.bb HTTP/1.1 ->Host: 127.0.0.1 -> HTTP/1.1 200 OK Date: Tue, 30 Mar 2004 23:02:14 GMT Server: Apache/1.3.29 (Unix) Last-Modified: Tue, 30 Mar 2004 22:06:59 GMT ETag: "1a39b-b-4069ef83" Accept-Ranges: bytes Content-Length: 11 Content-Type: text/plain yalabubuda Connection closed by foreign host. Здесь "->" обозначает строку введенную с терминала и закончившуюся Enter'ом. Обрати внимание на строку "Content-Length: 11" в ответе сервера. Это -- размер моего тестового файла test.bb, который содержит лишь строку "yalabubuda"

[/quote] Вот что апач возвращает. Я почитал его сырцы но так и не докопался до сути. И еще. Как сгенерить этот ETag? По какому принципу он генерится?

Пишу сейчас веб-сервер. Нужно определить тип файла, например text/plain Как это сделать?
[quote]

->telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
->GET /test.bb HTTP/1.1
->Host: 127.0.0.1
-> HTTP/1.1 200 OK Date: Tue, 30 Mar 2004 23:02:14 GMT
Server: Apache/1.3.29 (Unix)
Last-Modified: Tue, 30 Mar 2004 22:06:59 GMT
ETag: "1a39b-b-4069ef83"
Accept-Ranges: bytes
Content-Length: 11
Content-Type: text/plain
yalabubuda
Connection closed by foreign host.
[/quote]


Здесь "->" обозначает строку введенную с терминала и закончившуюся Enter'ом. Обрати внимание на строку "Content-Length: 11" в ответе сервера. Это -- размер моего тестового файла test.bb, который содержит лишь строку "yalabubuda"
Вот что апач возвращает. Я почитал его сырцы но так и не докопался до сути. И еще. Как сгенерить этот ETag? По какому принципу он генерится?

LONGOBARD
() автор топика
Ответ на: комментарий от LONGOBARD

>Пишу сейчас веб-сервер. Нужно определить тип файла, например text/plain Как это сделать?

Как самое простое можно дернуть через popen()

file -i <файл>

или выдернут нужный кусок кода из file + его база сигнатур и mime-типов

sS ★★★★★
()
Ответ на: комментарий от sS

Ясно, спасибо. А где сырцы file лежат? Я наверное просто возьму из него необходимые функции и вмонтирую в прогу.

LONGOBARD
() автор топика
Ответ на: комментарий от LONGOBARD

man file

там был урл, я на память не помню, старый стал ;)

sS ★★★★★
()
Ответ на: комментарий от LONGOBARD

rfc 2068

я так понял ETag можно генерить от даты с миллисекундами или md5 файлу делать

P.S. мне тоже скоро светит задачка по написанию вебсервера, кинь мыло на всякий случай...

hooj ★★
()
Ответ на: комментарий от hooj

Щас мое мыло longobard@programist.ru Если оно будет меняться/ то изменение сразу отразится в моем профиле на www.nixp.ru Пиши

LONGOBARD
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.