웹 프로그래밍 할 때 url로 파라미터를 어떻게 전달하시나요?
Spring으로 프로젝트를 만들고 있는 중입니다. 위 처럼 쿼리 스트링을 이용해서 파라미터들을 넘길려고 하니까 url이 길어져 보기가 안좋은 것 같아 다른 방법을 찾아보고 있습니다. 현업에서는 보통 url로 파라미터를 넘길 때 어떤 방법을 사용하시나요?
아래와 같이 ajax를 이용한 RESTful 방식으로 정보를 넘겨주나요? 만약 그렇다면 RESTful 방식을 어떤식으로 응용할 수 있는지 간략하게 설명해주시면 감사하겠습니다.
<a href="javascript:submit()">전달</a> <script> funciton submit() { $.ajax( ...); </sciprt>GET 방식은 자체가 URL에 쿼리스트링으로 정보를 담아서 넘기는것이기때문에.
URL이 길어지는건 GET 방식에서는 처리할수있는 방법이 없습니다.
굳이 편법을 말씀드리자면
Short url 을 따로 생성해서 사용하시면 됩니다.
예를들면
/board/boardDetail/submit.do?boardId=${replyVO.boardId}&mode=${mode}&replyId=${replyVO.replyId}
라는 URL로 넘겨야하면 short URL (https://www.shorturl.at/) 등 서비스를 이용하여
등과 같이 만들수 있습니다.
위에 URL은 굉장히 짧고 안에 파라미터가 보이지않지만 클릭하시면 파라미터가 담긴 엄청 긴 URL에
아하 페이지로 넘어옵니다.
이러한 방식을 통하여 원하시는 기능을 대체할수는 있습니다.
그리고 현업에서는 사실 URL 길이가 길어서 지저분하니 짧게 해달라 같은 요청은 보통 많이 없는편이고.
그러한 경우가 이제 이런 short URL 을 사용하여 처리해버리는 경우가 많습니다.
(특히나 트위터 사용자가 많을때 공유하기위해서 이런 경우가 많았습니다 트위터는 140자 글자 제한이 있어서 URL이 길면 공유가 안됬거든요)
기본적으로 이게 아니라 ajax 요청을 통해서 하시는 경우에는....
일반 사용자가 주소창을 보는게 아닌이상 더더욱 url 길이가 상관이 없기때문에 그냥 AJAX GET 요청으로 처리하는 경우가 많습니다.
그런데도 주소창이 지저분하니 바꿔달라 이런 요청이 오는경우에는
그냥 서버에서 받을때도 POST 형식으로받고, AJAX 요청도 POST로 던지시면 됩니다.
jQuery 공식문
https://api.jquery.com/jquery.ajax/
w3schools AJAX POST 사용문서
https://www.w3schools.com/jquery/ajax_post.asp
첨부드린 URL 확인하시면 사용법은 가장 자세하고 정확하게 나와있습니다^^