1줄짜리 web server
글쓴이: drinkme / 작성시간: 토, 2009/07/25 - 6:33오전
CGI까지 얼추 지원하는 bash/dash script로 만든 한줄짜리 웹서버
true; while [ $? -eq 0 ]; do nc -vlp80 -c'IFS=\ ? read REQUEST_TYPE F QUERY_STRING V; export REQUEST_TYPE; [ -n "$V" ] && export QUERY_STRING; F=.$F; [ -d $F ] && F=$F/index.html; read V; while [ ${#V} -gt 1 ]; do read V; done; [ -f $F ] && ([ -x $F ] && (echo "HTTP/1.0 200 OK"; $F) || (printf "HTTP/1.0 200 OK\n\n"; cat $F)) || printf "HTTP/1.0 404 Not Found\n\n"'; done
아... CGI 환경변수 지원하게 하다가 ... 나중에 하기로 함.
GET방식은 test해 봤는데, POST는 잘 되나 잘 모르겠네요.
Forums:
한줄을 가장한
말이 한줄이지 여러줄을 한줄로 표현한거 아닌가요~ ㅋㅋ
---
대한민국
apache도 한줄로 만들 수 있을텐데여..
즐린
단지 알아보기가 힘들 뿐
즐린
재미있군요 :)
이런식의 프로그래밍 유희들이 참 많은데 윗분들은 재미가 없으신듯 ^^;
400글자 안으로 된다니
신기하근영 ㅋ 그러면 글자수를 더 줄일 수 있을까가 의문이네요 ㅋㅋ
---------------------------------------------------------------
폐인이 되자 (/ㅂ/)
---------------------------------------------------------------
폐인이 되자 (/ㅂ/)
어차피 nc 라는 놈도
어차피 nc 라는 놈도 설치해야 하는 프로그램인 것을 보면(상당수의 배포본에 기본으로 있긴 하지만)
상당수의 배포본에 포함된 httpd 를 실행하는 것만으로도 웹서버가 됩니다...... ...
nc 정도면 충분히
nc 정도면 충분히 primitive한 작업이라고 간주해도 되지 않을까요. 기본적으로 cat의 네트워크 버전을 의도하고 만들어진 거니까...
얼마나 primitive한가에
얼마나 primitive한가에 대한 기준은 천차만별이겠지만,
POSIX, LBS 등이 그나마 문서화가 잘 되어 있으므로 pedant들을 만족시킬 수 있을
것 같고, 좀더 practical 하게는 널리 알려진 배포판(우분투, 페도라, cygwin etc.)의
베이스 시스템에 들어있는지 여부도 한 기준이 될 수 있을텐데, netcat은 어느 곳에도
들어있지 않아서, command not found라는 썰렁한 메시지를 만날 확률이 더 높아 보입니다.
----
http://nohmad.tumblr.com/
----
http://nohmad.tumblr.com/
한줄짜리 웹서버...
service httpd start
죄송 orz
There is no spoon. Neo from the Matrix 1999.
There is no spoon. Neo from the Matrix 1999.
cygwin에서 써볼려고
cygwin에서 써볼려고 했더니 cygwin necat은 -c 옵션을 지원하지 않네요. -c는 무슨 옵션이죠? 다른 옵션으로 대체할 순 없나요?
-c 대체옵션
netcat 으로 하신 거 맞죠?
-c 옵셥이 없나요?
이건요... 다음 문장을 /bin/sh 로 보내서 실행하게 합니다.
-e 옵션으로 사용해서 조금 고치면 비슷하게 되지 않을까 싶네요.
ps.
간만에 보니,
너무 심각하게 생각하시는 분들이 많은 듯 하네요.
그냥 재미(?)로 만들어 본 거니까... 그냥 재미로...
댓글 달기