본문 바로가기

C#

(46)
c#으로 근본 없는 웹서버 개발기 6 : minetype ⚠WARNING ASP.NET에 대한 포스팅이 아닙니다 나가실 문은 오른쪽 하단입니다 HTTP를 이용하여 파일을 전송하고자 할 땐 content-type이라는 것을 명명하여 각각 파일 확장자에 맞는 minetype을 표기를 하여 보내줘야 한다. 예를 들어 text를 보냈는데, minetype이 image일 경우는 브라우저 창에는 아무것도 표기되지 않는다. 어차피 파일마다 확장자가 있기에 무슨 필요가 있느냐고 질문을 할지 모르겠지만, 파일에 확장자를 쓰지 않는 경우도 있다. 그런 경우는 minetype에 전적으로 의지 할 수밖에 없다. 다음 내용은 모질라 사이트에서 minetype으로 검색한 내용을 긁어와 csv파일 형태로 정리한 형태다. .aac,AAC 오디오 파일,audio/aac .abw,AbiWor..
c#으로 근본 없는 웹서버 개발기 5 : 응답하라 FAVICON.ICO ⚠WARNING ASP.NET에 대한 포스팅이 아닙니다 나가실 문은 오른쪽 하단입니다 전편의 지루한 이론학습을 적당히 끊고 다시 코딩을 하며 몸둥아리에 학습시킬 필요가 있다. 이론과 실습이 적당히 버무려졌을 때 학습효과는 최상급이 된다는 것이 나의 지론이다. 그래서 대충 가지고 있는 이미지로 FAVICON을 알아서 만들어주는 사이트에서 만들고, 폴더에 넣은후에 학습한 이론을 토대로 소스를 작성 하였다. 우선 FAVCON 요청에 대한 분기가 필요했다. while (true) { Socket client = server.Accept(); try { var dic = request(client); if (dic.ContainsKey("err")) { resForbadrequest(client, dic["err..
c#으로 근본 없는 웹서버 개발기 4 : HTTP 헤더정보 살피기 ⚠WARNING ASP.NET에 대한 포스팅이 아닙니다 나가실 문은 오른쪽 하단입니다 웹사이트에서 없어도 되는부분이지만. 북마크나 즐겨찾기로 추가 했을 때, 제목보다 눈에 빨리 들어오는 것이 favicon.ico 일것이다. 사람의 뇌는 글보다 이미지에 대한 기억을 오래 간직한다. 그러므로 본인의 웹사이트에 대한 애정이 있다면 favicon에 신경을 쓸것이다. 그리고 손님으로써 방문한 사이트에 favicon이 없다면 먼가 허전할 것이다. 그렇다. favicon은 하나의 단순한 이지미가 아니라 사이트의 얼굴마담, 마스코트, 그리고 IdenTT 인것이다. 그래서 favicon을 기준으로 어떻게 브러우저부터 요청이 되는지 헤더값을 살표보기로 했다 요청헤더 살펴보기 전 편에 이어서 알아야 할부분이, Connect..
c#으로 근본 없는 웹서버 개발기 3 : 브라우저 요청 값 확인 ⚠WARNING ASP.NET에 대한 포스팅이 아닙니다 나가실 문은 오른쪽 하단입니다 웹서버가 하는 일은 브라우저가 보낸 요청에 응답하는 것이다. 서버에서 먼저 브라우저쪽으로 요청하는 일은 없다. 그렇다. 브라우저가 먼저 다가와주지 않으면 소통하지 못하는 고독한 존재이다. 그래서 언제 있을지 모르는 브라우저의 요청에 만전을 기해야 한다. 우선 전전편의 소스에서 리퀘스트와 리스폰스로 구분을 지었다. static void Main(string[] args) { IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 80); Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType...
c#으로 근본 없는 웹서버 개발기 2 : 구름에 띄우기 ⚠WARNING ASP.NET에 대한 포스팅이 아닙니다 나가실 문은 오른쪽 하단입니다 국내에서도 코드샌드박스나 리플릿 같은 서비스가 존재한다 구름ide 라고 하는 건데, 타사에 비하면 먼가 답답하다...느리다 자꾸 컨테이너 하나 바꿀 때마다 생색을.. 동시에 여러개 못한다고 생색을 낸다(돈을 내면 해결 할 수 있다한다) 자동완성이나 문법검사 같은게 없어 구문 오류나면 빌드 전까지 모른다. 여튼 쓰다 보면 많이 비교급이 되긴하는 그런 안타까움이 있지만, 국내 서비스라고 하여 이용보려 한다. 그러나, 장점도 있다. 1. 국내 서비스라 국내에서 할 경우 핑이 빠르다. 2. 리플릿의 로봇에 밀리지 않을 만큼? 카와이이 한 마스코드가 있다. 3. 널널한 서버를 이용하는 듯한 천편일률적인 쾌적함?이 있다. 더 이상..
c#으로 근본 없는 웹서버 개발기 1 : 소켓통신 ⚠WARNING ASP.NET에 대한 포스팅이 아닙니다 나가실 문은 오른쪽 하단입니다 asp, jsp, php, node.js, flask 등, 합해서 꽤 많은 시간을 그들과 보냈지만 무었하나 제대로 알 수가 없다. 그것들은 작업을 너무 쉽게 해주므로 크리티컬 한 오류가 나면 해결하기가 너무힘들고 의존증이 생겨 사람을 멍청하게 만든다. 너무쉽게 다가오는 것은 중독되기도 쉽다. 최신 기술이라고 가져와 사용했는데, 자꾸 알 수 없는 이유로 서버가 뒤는지는 경우가 생겼던적이 있었다. 나는 그 날 본 오류가 아직 해결되었는지도 알 수 없는 상태로 그 떄의 웹프레임워크라는 것에 환멸을 느끼며 노브랜드워크로 웹을 끄적여볼까 한다. 가이드라인이 없으니 엄청난 삽질이 될거 같다. 그러나 어렵고 힘에 부치더라도 좁은 문..