본문 바로가기

Data

Tistory 글이 특정 상황에서 안올라가는 원인

포토 업로더를 통한 첨부가 아닌 그림판등에서 직접 웹에디터에 붙여넣을경우 일반사용자는


위 그림과같이 공간에 그림이 하나 껴있는것을 볼수 있습니다.

하지만 html모드로 본다면 어떨까요?


실제로 <img src="https://t1.daumcdn.net/cfile/tistory/2330464156EA72961A"COLOR: rgb(255,0,0)">This is encoding data" alt=""> 태그와 같은 형식으로

data:image/png에서 그림파일 자체의 헤더를 명시해주고 빨간부분에 RGB값등이 인코딩되어 올라갑니다.

즉 그림파일의 바이너리가 직접 올라간다고 보실수 있습니다. 브라우저가 인식할수있도록 인코딩된 상태로요.


편리한 기능이라 볼수있는데요.

문제는 용량이 클때 발생하는것 같습니다.

그런식으로 그림판에서 이미지를 편집하고 붙여오고 내용을 입력하는 식으로 제가 올린글은 텍스트로 약 5MB가 넘어가게 되었습니다.

굳이 비유하자면 소설 중장편에 해당하는 크기일까요


이렇게되면 게시물 하나에서 5MB가 넘는 html텍스트가 서버에 업로드 되게 됩니다.

이 올라가는 과정에서 용량이 과다하여 중간에 오류가 발생하는것이 가장 유력한 원인입니다.

몇번을 올리고 임시저장된걸 불러와도 여전히 '오류가 발생하였습니다. 다시 실행부탁드립니다' 메세지만 띄우는 것으로 보아 처리할수있는 용량한계를 초과한것으로 보이는데요


실제로 포토업로더를 사용하여 사진을 업로드하게될경우

<p style="text-align: center; clear: none; float: none;"><##_1N|cfile28.uf@201D45495049BD4F159A53.png|width="666" height="318" filename="01.png" filemime="image/jpeg"|_##></p>

요거 한줄이 다입니다.


하지만 '임시저장'은 정상적으로 작동하는데요

이건 티스토리 서버단의 문제라고 봅니다.

임시저장된글을 불러오면 몇초안되서 5MB가 넘는 태그들이 불러와서 에디터에 채워집니다.


하지만 정식으로 글을 올릴때만 오류가 발생한다? 이해가 잘안되었습니다.

만약 글을 올릴때 서버에서 태그등을 한차례 필터링하고 올린다고 가정한다면

5MB가 넘는 텍스트를 필터링할때는 자원은 상당하다고 보면될것같습니다.

이 때문에 서버에서 처리하다가 드는 자원이 많을경우 이같은 결과가 나오는것이 아닐까 생각합니다.

data:image/ 부분은 자체를 건너띄거나 태그가 길경우 건너띄게 한다거나 붙여넣었을때 긴태그붙여넣은 사진을 어딘가에 미리 업로더 해놓고 참조하는 식으로 자동으로 태그를 바꾸게 되지않을까라는 생각도해보았고 대신 포토업로더처럼

클라이언트쪽에서 지연되기때문에 제한을 해놓은는건가 생각해봐도 클라이언트인 브라우저에서 data:image부분을 읽어들이는건 한순간이었습니다.

태그 그대로 복사해서 만든 html 파일로 테스트 해봤습니다.

이거여는데 텍스트는 지연을 느끼지못할만큼 바로 보이고 그림이 불러와질 부분엔 커다란 공란이 보였는데요.

0.3초쯤 지나니까 한꺼번에 불러와집니다.

쓰다가 생각해보니 제가 티스토리 개발팀이아닙니다.


불편하더라도 건의한번때려주고 고치길기다리거나 사진첨부 기능을 이용하는 수밖에요.




-- 몇시간전에 전화문의 해봤더니 개발팀분이 처리하시고 있다는데 그날안에 답변들을수있을지 의문이었는데요.

어제 웹고객센터문의한 공식 답변이 메일로 와있었습니다. --


고객님, 너무 많은 이미지를 '붙여 넣기'하시면
컨텐츠 용량이 허용치를 초과되면 등록 오류가 발생할 수 있습니다.

번거로우시더라도 [사진] 메뉴를 클릭하신 후 PC에 저장된 이미지를 업로드해 주시기 바랍니다.


답변내용중 일부입니다. 음 그럼 확인하신다는 개발팀분은 어떻게 되셨을까요

이 문제 고칠려고 코딩이나 디버깅중이실지 이상한 부분에서 삽질중이실지 그것때문에 야근하고 계신건지 ..

저는 알수없는관계로 전화상으로 좋은 결과가 오길 기대해봅니다.(결국 전화 답변은 오지 않았습니다.)


한동안 저 문제로 포스팅하지 못했던 임시저장된 글은 포스팅에 사용한 그림파일을 저장하지않았기 때문에 개발팀분이 복구하기전까지 손놓고 있어야 하는건 아닐까 하는 걱정도 해봤는데요.

꼼수를 부려 아까 html 문서에서 반대로 다시 파일로 이미지 저장을 하나하나 해서 해결할수있었습니다.

이 글을 읽고 계신 여러분은 이 문제로 며칠 삽질하는 일이 없으시길 바랍니다. :)

ps : 혹시 개발팀분이 야근하시며 이글을 보고계신다면 안부전합니다.