본문 바로가기
PHP

URL Shortener 제작기

by 초짜 주인장 수표 2020. 3. 7.

The Fastest URL transfer in Korea.

https://s.hoto.dev

 

Fast URL Shorter - https://s.hoto.dev

The Fastest URL Transfer in Korea

s.hoto.dev

제작한 Fast Url Shorter

모바일은 디자인하지 않았다.

제작 이유

학교 수행평가를 위해 어떠한 링크를 사이트에 제출할 필요가 있었다.

그런데 제출을 하려고 보니 URL이 너무 길어서 잘리는 것이였다.

그래서 URL을 단축해주는 사이트를 찾았어야 하는데, 아이디를 까먹어 찾아야 하는 작업이 너무 귀찮았다.

이 참에 직접 제작해보자 맘을 먹었기에 생각을 해보았다.

먼저 다른 URL Shortener는 부가기능이 많다. 예를 들어서 몇번 클릭되었는지 카운트 기능이라던지, 클릭된 국가가 어딘지 등등 유용한 기능들이 많다.

거기에 광고를 넣어서 수익을 창출할수 있는 기능까지 있는곳도 있다.

하지만 단점은 '더럽게 느리다'는 것이다.

adf.ly같은 경우 서버가 해외에 있고, 광고 링크의 대명사이다보니 나도 잘 클릭하지 않는다.

또 한국에 서버가 있는 경우도, 바로 연결되지 않고 서버를 거쳐서 여러 작업들을 하다보니 느려지는 것은 매한가지 이다.

별로 추가기능을 사용하지도 않고, 그냥 URL을 줄이기 위해 사용하려는 나는 URL Shortener를 만들기로 했고, 나만의 도메인으로 나만의 URL 단축기 제작에 들어가게 되었다.

제작 과정

솔직히 기능 구현은 간단하였다.

index.php

등록기능은 DB를 연동해서 간단하게 만들 수 있었고

rd.php

리다이렉트 시에는 단순히 이동하면 되는 소스를 넣어주면 되기 때문이다.

나는 가장 빠른 이동을 위해 html 내부에 meta 태그를 넣는 대신 헤더의 Location을 변경해 빠른 리다이렉트를 유도했다.

결과

먼저 헤더 Location을 변형한 덕분에 아래처럼 축소된 url을 넣어도, 목적지의 데이터가 파싱되게 된다.

https://s.hoto.dev/r/programming

목적지: 내가 만든 loopy 프로젝트

LOOPY!

a tool for thinking in systems

s.hoto.dev

이렇게 네이버에서 파싱한 모습을 보면 s.hoto.dev가 아닌 loopy의 링크를 보여주는 것을 알 수 있다.

그리고 깔끔하게 나만의 짧은 도메인을 만들 수 있다.

그리고 착실하게 짧은 도메인으로 과제를 제출할 수 있었다.

결과적으로 이 프로젝트는 한국 내에서 짧은 url을 클릭할경우 그 어떤 사이트보다 가장 빠른 리다이렉트 속도를 자랑한다고 당당히 말할 수 있다.

물론 괴수같이 서버 프로그램단에서 조작한다면 모르겠지만,, 그 정도로 속도를 따지는 기업은 없을것이다.

또 그 어느 정보도 수집하지 않고 단순히 리다이렉트만 시켜주니 보안성 문제도 없다. (단순히 만들기 귀찮았을뿐)

QRCODE

 

인식 잘됨

 

URL 변환시 QR코드도 제공된다.

너무 간단해서 더 소개할 것도 없을 것 같다.

오히려 디자인에 더 시간을 많이 들였다. (이미지에 사용할 폰트 찾기가 힘들었다..)

카논 상!

404 페이지

소스 보기

https://github.com/Waterticket/s.hoto.dev

 

Waterticket/s.hoto.dev

URL SHORTER. Contribute to Waterticket/s.hoto.dev development by creating an account on GitHub.

github.com

 

평가

심심풀이로 만들었지만 재미있는 작업이였다.

총 제작시간중에 디자인에 90%를 할애했다는 것은 좀 그렇지만 말이다.

별 다를건 없지만 필요한 기능만 구현했으니 깔끔하고 빠르다.

다른 것보다 이 글을 보는 사람들이 이 사이트를 사용해줬으면 정말 좋겠다.

한국 서버이고 24시간 계속 돌아가니 안심하고 사용하셔도 된다.

+) 기능은 점점 추가됩니다.

 

2020/03/07 - [분류 전체보기] - PHP 소스 암호화 프로그램

2020/03/07 - [윈도우 Windows] - VMware vs VirtualBOX 개인적 비교기

2020/01/31 - [C] - [C++] std::string 앞 뒤에 개행문자 제거

2020/01/31 - [C] - [C++] using namespace std; 를 사용하면 안되는 이유

2020/01/28 - [분류 전체보기] - 티스토리 애드센스 ads.txt 해결 방법

댓글0