Skip to content

Instantly share code, notes, and snippets.

@kjsman
Last active April 17, 2020 04:58
Show Gist options
  • Save kjsman/618114112c418bc9f6051dcb21b80386 to your computer and use it in GitHub Desktop.
Save kjsman/618114112c418bc9f6051dcb21b80386 to your computer and use it in GitHub Desktop.
아희로 만든 웹서버
밚반따숙처숚밗뚜밤뚜까머구ㅇ삳붅뜌
빠바줘ㅇ오봞봻봹봟슉커쏨ㅇ삼무발봊
토번세벟뚜벓데볝데삮쏜볘ㅇ뭏삳불뚜
붏톄냬뷧벗따볻따봇쏜아초ㅇ오뚜번빼
빠뙤밵뒈벫볾밝뿌뗘산토어ㅇ뚀빠뚜뱄
뿌되붣뾔퇴뷬뿨떠볷뷇섣ㅇ거봟붆뻐뒤
밧퇴뱑뱛번따따뷑뵔봦떼떼뽸봁빠두뾔
북떄뗴뷧뷚뵑솯뱨샘태봾뼤대봜뿨더볫
빠뺘뺘뻐따때뛔뛔뾔봽뙤뷎뷈떼투붉너
뚜봭뷜쀄때볧뵜뚸붮데뱉붩튀뵍뻐퉤살
빠돠뒤봢밿뛔뼤봽댜까멓붆뿌떼봻벖려
두뛔봽붣빼뚸뛰밵벋도뷧꺠뻐삼겹살줘
빠뷏뾔떼턔쀄볮두볽뽸똬번김진서제작
자받아랏탈모빔우밪두밧뚜따붆밦두붉
붓빼벩돼뵛떄볡벒떄붫뺴볪뱻둬놰볝뷻
따떼빼봦돼붭밹벧또밨또타뽀빠본뱶뒈
두대붭봹빼되놔뾔볙뽜때뽜떄붼뷙떠때
빠봞봤댸퉤뿨뱺봨떄뎨쀠뷣태뷇볝북눠
붉볧돼뺴볠뗴봟둬뷣붴뚸볦뵍떼때꺼벤
따뷀밺똬붥벦뵉뛔때빼볤봰똬둬빼뱬뵨
두벳뗴붧둬뷗벩튀뙈뵉볪뚸뙤봟봻붯터
빠붥뵛뙤대쀠봑뷋놰턔밾봝뗴뵡뿨뛰두
붚뵠뷂톼봼떼뷄봺뚸뷭붫톼붡뼤뒤봜뻐
따뙈빼봿뻬냬되뽸뵔둬쀠뵂붳때테봜뿌
붌뷁돠붞뾔튀돼뵚뵚떼떄뵉뵗벯퉤뵉떠
밧뙤뚸붲둬뽜봖뵏뛔뒈벯뱪뛰뻬뾔둬붒
붉뒈뱵쀠댸뒤뵋붥뼤돠뷐떼뗴뷕볤벐터
밪뱀뛔뚸뵕봕때볧뷣뱃뚸뗴벸붵뚸투
뿌퉤봾쀄뒤뙈붢뷛뼤퇴벫뺴퇘뱂쀄꺼
밧뱩뉘뒈밿뷣뙈봳다밶봴댜아멓우
뿌퉤때뷌붲둬뽸뿨뒈백뙈떼밴벨벖
반냬뱊돼붡뱰댸뿨붮때벳돠뵑빼뚜
뚜뙈뱭붲붵퉈밸내볙쀠뒤뷦뛰붝뻐
받뱮뙈빼때뻬뙈밹쀠때뽸뙤튀뵚밦뚜
붉쀄뒈테뛔떄붾볨뱺뙤빼뙤뼤봾빼더
빠뛰뺴뛰뎨붧붢볚봲똬뚸뛔톄뱷벰뚜
불뷦뷠둬뛔뿨뗴뿨봻뚸뻬뙤뽸뛰봲벚
밧똬뛔뙤뱱댸뒤에뷬볝뛔쀠뛔뾔뚸불
뿌떼봙붥대백뚸뛔붠뵍볪톼떄뛰뷙벉
밧뛰뵚대뱂봴붼똬땨짜멓샴숟마숟
븋과뀌괴ㅇ께퀘꽤뙈봭댸뵉벓붅벖
쪼붌뷠퉤뙤봧밷뒈쀠뺴둬붠떠밧뗘
썡따뱃턔뷊뱬볝뙤뙈뷀붹뙤빼뗴뿌
쫘뚜뷚벤뷝톄뷦쀄돠뱴뿨돼떄벤벌
뽸따뱷볚떄뵡뷤뷫붠뙤뗴뙤볰벹뚜
톼붑빼뛔뷣봡뗴뵚뎨뷭뵖테뵎뿨터
베발뙤뒤쀄뱇톄뾔뷏댜짜멓헤
뵉반투밣붏다붆따우밡뚜다두
주뙈뱳튀때뱉때때봿뷅벳붯상뮤쪄
쵸또뽸볪봕밽뷆뱰돼퇘댸밷숮꺼쭤훼
밦분때쀄대뎨뵐뷘뵓봗뺴봱붭솷얘뭏
솘뵬밬도빠본따봃밣또밧도붮쬐개꼬떠
붏쀄튀쒱쀠샔쌠성쀄섨뎨봣떠뵇케발또
밭떼둬뚜캐카쩨꿔께뀌개쨰궤쬬걔봄벜
쭈꾀섩처쑱초퉈퉈냬뺴봣봐쒕뻐쿼박토
쏤쮀쿼께솾짜계꿰워쪠에유에꾀궈또뻐
숮외썽걔반톄뻬붬졔초쾨와쾨예쪠다봀
봑ㅇ송처뭬개개퀴꽤꿔쪠얘꽤쬐코또벇
타쀠봪조투뛔뵊봻뼤벟밧똬뚜밣붅따봃
쾌꽈게뭏처무퀴퀴쿼밦볹셬박도반또
과애쫴카궤밯뻬볠볙떄퉈추
퀘꽤위꿔걔코예쮀꿰꽤얘멓
GET / HTTP/1.1
Host: localhost:8888
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Sec-Fetch-Site: none
Accept-Encoding: gzip, deflate, br
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,la;q=0.6
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
X-Powered-By: WebAheui
<h1>아희 웹서버</h1>
<p>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36</p>
@kjsman
Copy link
Author

kjsman commented Oct 7, 2019

101 112 121 84 45 116 110 101 116 110 111 67

@kjsman
Copy link
Author

kjsman commented Oct 7, 2019

지금 저기 마지막 '아' 에서 하나씩 자료에 넣고 빼면서 "user-agent:"하고 case-insensitive하게 일치하는지 체크.
일치하면 그대로 출력후

출력하고 종료하면 구현됨

@kjsman
Copy link
Author

kjsman commented Oct 8, 2019

밚반따숙처숚밗뚜밤뚜까머구ㅇ삳붅뜌
빠바줘ㅇ오봞봻봹봟슉커쏨ㅇ삼뿌발봊
토번세벟뚜벓데볝데삮쏜볘ㅇ뭏삳불뚜
붏톄냬뷧벗따볻따봇쏜아초ㅇ오뚜번빼
빠뙤밵뒈벫볾밝뿌뗘산토어ㅇ뚀빠뚜뱄
뿌되붣뾔퇴뷬뿨떠볷뷇섣ㅇ거봟붆뻐뒤
밧퇴뱑뱛번따따뷑뵔봦떼떼뽸봁빠두뾔
북떄뗴뷧뷚뵑꾀예쩨태봾뼤대봜뿨더볫
빠뺘뺘뻐따때뛔뛔뾔봽뙤뷎뷈떼투붉너
뚜봭뷜쀄때볧뵜뚸붮데뱉붩튀뵍뻐퉤살
빠돠뒤봢밿뛔뼤봽댜까멓붆뿌떼봻벖려
두뛔봽붣빼뚸뛰밵벋도뷧ㅇ뻐삼겹살줘
빠뷏뾔떼턔쀄볮두볽뽸똬번김진서제작
자받아랏탈모빔우밪두밧뚜따붆밦두붉
붓빼벩돼뵛떄볡벒떄붫뺴볪뱻둬놰볝뷻
따떼빼봦돼붭밹벧또밨또타뽀빠본뱶뒈
두대붭봹빼되놔뾔볙뽜때뽜떄붼뷙떠때
빠봞봤댸퉤뿨뱺봨떄뎨쀠뷣태뷇볝북눠
붉볧돼뺴볠뗴봟둬뷣붴뚸볦뵍떼때꺼벤
따뷀밺똬붥벦뵉뛔때빼볤봰똬둬빼뱬뵨
두벳뗴붧둬뷗벩튀뙈뵉볪뚸뙤봟봻붯터
빠붥뵛뙤대쀠봑뷋놰턔밾봝뗴뵡뿨뛰두
붚뵠뷂톼봼떼뷄봺뚸뷭붫톼붡뼤뒤봜뻐
따뙈빼봿뻬냬되뽸뵔둬쀠뵂붳때테봜뿌
붌뷁돠붞뾔튀돼뵚뵚떼떄뵉뵗벯퉤뵉떠
밧뙤뚸붲둬뽜봖뵏뛔뒈벯뱪뛰뻬뾔둬붒
붉뒈뱵쀠댸뒤뵋붥뼤돠뷐떼뗴뷕볤벐터
밪뱀뛔뚸뵕봕때볧뷣뱃뚸뗴벸붵뚸투
뿌퉤봾쀄뒤뙈붢뷛뼤퇴벫뺴퇘뱂쀄꺼
밧뱩뉘뒈밿뷣뙈봳다밶봴댜아멓우
뿌퉤때뷌붲둬뽸뿨뒈백뙈떼밴벨벖
반냬뱊돼붡뱰댸뿨붮때벳돠뵑빼뚜
뚜뙈뱭붲붵퉈밸내볙쀠뒤뷦뛰붝뻐
받뱮뙈빼때뻬뙈밹쀠때뽸뙤튀뵚밦뚜
붉쀄뒈테뛔떄붾볨뱺뙤빼뙤뼤봾빼더
빠뛰뺴뛰뎨붧붢볚봲똬뚸뛔톄뱷벰뚜
불뷦뷠둬뛔뿨뗴뿨봻뚸뻬뙤뽸뛰봲벚
밧똬뛔뙤뱱댸뒤에뷬볝뛔쀠뛔뾔뚸불
뿌떼봙붥대백뚸뛔붠뵍볪톼떄뛰뷙벉
밧뛰뵚대뱂봴붼똬땨짜멓샴숟빠숟
븋과뀌괴ㅇ께퀘꽤뙈봭댸뵉벓붅벖
쪼붌뷠퉤뙤봧밷뒈쀠뺴둬붠떠밧뗘
썡따뱃턔뷊뱬볝뙤뙈뷀붹뙤빼뗴뿌
쫘뚜뷚벤뷝톄뷦쀄돠뱴뿨돼떄벤벌
뽸따뱷볚떄뵡뷤뷫붠뙤뗴뙤볰벹뚜
톼붑빼뛔뷣봡뗴뵚뎨뷭뵖테뵎뿨터
베발뙤뒤쀄뱇톄뾔뷏댜짜멓헤
뵉반투밣붏다붆따우밡뚜다두
주뙈뱳튀때뱉때때봿뷅벳붯상뮤쪄
쵸또뽸볪봕밽뷆뱰돼퇘댸밷숮꺼쭤훼
밦분때쀄대뎨뵐뷘뵓봗뺴봱붭솷얘뭏
솘뵬밬도빠본따봃밣또밧도붮쬐개꼬떠
붏쀄튀쒱쀠샔쌠성쀄섨뎨봣떠뵇케발또
밭떼둬뚜캐카쩨꿔께뀌개쨰궤쬬걔봄벜
쭈꾀섩처쑱초퉈퉈냬뺴봣봐쒕뻐쿼박토
쏤쮀쿼께솾짜계꿰워쪠에유에꾀궈또뻐
숮외썽걔반톄뻬붬졔초쾨와쾨예쪠다봀
봑ㅇ송처뭬개개퀴꽤꿔쪠얘꽤쬐코또벇
타쀠봪조투뛔뵊봻뼤벟밧똬뚜밣붅따봃
쾌꽈게뭏처무퀴퀴쿼꿔볹벖박도반또
과애쫴카궤밯뻬볠볙떄퉈추
퀘꽤위꿔걔코예쮀꿰꽤얘멓

@youknowone
Copy link

알파희에서 크래시나는건 optimize 버그네요. -O0 으로 최적화 끄고 돌려보시면 잘 나와요. 필요한 빈 스택 검사가 날아가는듯 합니다

@kjsman
Copy link
Author

kjsman commented Oct 16, 2019

@youknowone 감사합니다!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment