리다이렉션을 처리하는 여러가지 방식
[프로젝트/개인프로젝트] - User Agent를 통한 각 OS별 마켓으로 옮겨주는 리다이렉트 페이지 만들기
저번 글을 작성하다가 한가지 의문점이 들었는데, 일단 내가하는 리다이렉션의 방법은 헤더에 Location을 넣어서 바로 처리해주는 방식이다.
이외에도 처리하는 방식이 여러가지인 것으로 알고 있어서 정리 겸 리다이렉션이 어떤 것인가를 체크해보도록 한다.
리다이렉션의 방식은...?
일단 리다이렉션 자체가 2가지 방법으로 나뉘어져있다. 301 리다이렉트와 302 리다이렉트 방식이 존재.
301 방식은 영구적 옮김을 뜻하고 그 안의 정보같은 것 즉, Referer를 다 사라지게 하는 효과가 있다. 즉, 내가 어디서 왔는지를 잃어버리게 하는 효과가 있다는 뜻이다.
302 방식은 일시적 옮김을 뜻하고, 스크립트나 html태그를 통해서 옮겨지는 경우는 302방식을 사용하게 됩니다.
즉, 결론적으로 말하자면, Header를 통한 리다이렉션 방식은 "301" JS나 META를 통한 리다이렉션 방식은 "302"입니다.
이 리다이렉션을 어떤 걸 사용해야하는지?
나는 header파일을 무작위하게 조작하는 경우에는 패널티가 존재한다고 생각했다. 왜냐하면 이런 태그를 무작위하게 내가 만지는 순간 그런 것에 대한 패널티가 있을 거라고 생각했는데, 웹에서 권장하는 방식은 "301" 방식이다.
302 방식의 경우 의도와는 다른 방향으로 페이지 이동이 이루어지는 것으로 간주해서 검색콘솔에서 패널티를 준다.
즉, 이런 검색 패널티를 받게된 만큼 검색에 잘 노출이 안될 수도 있다는 것입니다.
301을 사용하는 방식은 여러가지가 존재한다.
PHP
<?php
header('location: ~~~');
?>
JSP
< %
response.setStatus(301);
response.setHeader( "Location", "~~~" );
response.setHeader( "Connection", "close" );
%>
Spring
@GetMapping("/move")
public String redirectly(String url){
return "redirect:" +url;
}
근데 이런식으로 301로 옮기는 경우는 referer를 없애므로 만약 이걸 들고 갈려면 302방식을 택하거나 쿠기&Session방식을 택해야한다.
http://www.seo-korea.com/301-vs-302-redirect/
'프로젝트 > 개인프로젝트' 카테고리의 다른 글
OpenCv와 CNN으로 손으로 적은 숫자 인식기 만들기 (3) | 2020.06.30 |
---|---|
웹 크롤링으로 강원대학교 컴퓨터공학과 공지사항 텔레그램 봇 만들기 (6) | 2020.03.18 |
User Agent를 통한 각 OS별 마켓으로 옮겨주는 리다이렉트 페이지 만들기 (0) | 2020.01.03 |
Spring으로 OP.GG 클론 코딩해보기 -6 (마무리) (2) | 2019.09.15 |
Spring으로 OP.GG 클론 코딩해보기 -5 (0) | 2019.09.01 |