개발 Q&A

제목 REST API 개발 시 키 값 처리방식에 대해 질문드립니다.
카테고리 서버
글쓴이 CIefii 작성시각 2017/03/08 17:01:16
댓글 : 6 추천 : 0 스크랩 : 0 조회수 : 12626   RSS

안녕하세요. 이번에 이직하게 된 회사의 web 부분을 맡게 되어

소스를 정리하며 기존 모델에서 데이터 생성하여

컨트롤러에서 뷰를 호출할때 데이터를 한번에 보내서 화면을 구성하는 방식에서 

데이터 부분을 api 호출 방식으로 떼어내려고 합니다.

restful 도입도 생각하였으나 api도 안되어 있는 상황에 먼저 api로 나누려고 합니다.

여기서 궁금한 점이 아래와 같은 간단한 소스에서 get_allData 부분은 api로 처리하도록 빼려고 하는데

위에 3개의 키가 화면이 이동될 때마다 가지고 다녀야 하던 키였는데

저런 키값들에 대해선 어떻게 처리하는지가 궁금합니다. 키값은 저렇게 기존방식대로 넘겨주면서 처리를 하시는지

아니면 session에 담는지? 많이 찾아봤지만 rest, api관련해서 설명은 많이 보았는데 저런 키값 관련해서는 모르겠네요...

이렇게 해도 저렇게 해도 되긴하지만 권장하시는 방법이 어떤것인지가 궁금합니다..

 다음글 DB의 좌표값을 가져와서 google map에 뿌려지고... (6)
 이전글 계층형 JSON 만드는 중에 질문하나 드립니다. (1)

댓글

한대승(불의회상) / 2017/03/08 18:05:14 / 추천 0
헤더에 담아서 전송하는게 일반적인 방법입니다.
변종원(웅파) / 2017/03/09 10:34:13 / 추천 0
api간 전달이란 개념이 없고 필요한 값은 무조건 전송해야 합니다.
CIefii / 2017/03/09 14:33:08 / 추천 0

@한대승(불의회상)

@변종원(웅파)

우선 php 공부하면서 많은 글들로 뵈었던 분들이 댓글을 달아주시니 연예인 만난것같고 그러네요. 감사합니다.

 궁금한것이 현재는 파라미터에 직접 키값을 담아 전송하며 전송은 암호화하여 진행하고 있습니다. 이렇게 암호화 해서 사용하는것보다 헤더에 담아서 사용하는 것이 일반적인 이유가 어떤것이 있는지 궁금하네요.. 

$headers = apache_request_headers(); // http header Data
header("comId : ".$comId);
echo "headers :::: ".json_encode($headers);

 

변종원(웅파) / 2017/03/09 14:43:01 / 추천 0

규약이기도 하고 전송내용을 보려면 좀더 귀찮기도 하고 그렇습니다.

https 규약으로 암호화해서 전송하시면 문제없습니다. (외국계 대기업 보안감사 통과~ ^^)

한대승(불의회상) / 2017/03/09 14:46:22 / 추천 0

2가지 장점이 있습니다.

1. 주소줄에 키가 노출되지 않음

2. 일반 웹브라우져가 아닌 API 테스트를 위한 테스트용 클라이언트나 연동을 위한 특별히 프로그램된 방식으로 접근 제한

CIefii / 2017/03/09 14:58:57 / 추천 0

@한대승(불의회상) 

아.. 감사합니다. 저는 모든 통신을 post로 사용해서 주소줄에 노출되진 않았는데 그래서 post + 암호화 해서 사용했습니다.

그것보다 header + https 규악이 더 보안적으로 뛰어난 것이군요.