api 호출 주소에서.../ (슬러시) 유무..
본문
유튜브 보고 API 따라 만들어 봤는데요..
따라서 만드니...작동은 됩니다. JSON 으로 리턴값도 만들어 보고..등등..
근데, 엉뚱하게 궁금한게 생겨서요..
보통, 그전에는 타사 API 가이드를 받아서 API 호출하고 응답값에 따라 대응하고..
머 그렇게 했었는데요...
따라서 만들다보니...경로가 이상한거 같아서요.
기존에 타사 API 를 이용할때는 경로가..이런식이라면...
http://aaaa-500.com/api/auth?user=test01&pw=1111&foba=10
유튜브 따라서 만든주소를 보니..
http://aaaa-500.com/api/auth/?user=test01&pw=1111&foba=10
이렇게 만들어 지더라구요...(url 자세히 보시면 auth? 와 auth/? 의 차이가 있습니다.)
질문1) 제가 따라만든다고 만든 경로에 / 는 왜 생길까요? (어떤경우에??)
질문2) 하다보니...get 으로 파라미터 넘기는거랑 별 차이가 없는거 같은데...원래그런가요?
고수님들 보실때는 질문 같지 않을수도...^^;
하지만, 작은 조언이라도 주시면 공부에 큰 도움이 될거 같습니다.
** api 응답처리할때 마지막에 die( /내용/ ) <=== 이거 die 가 무슨 의미인지도 아직 모르겠음.^^;;
답변 3
질문1: 라우터를 어떤 것을 사용했느냐에 따라 /가 붙을 수도 있고 안 붙을 수도 있을 것 같습니다. 없어도 동작은 하겠죠
질문2: 어차피 HTTP의 GET, POST, PUT or PATCH, DELETE를 사용하는 것이기 때문에, 비슷하다고 볼수 있습니다.
REST가 이 기종간의 통신 편리하게 만든것이죠.
마지막 die는 프로그램이 중간에 다 처리를 해야 되는데, 저 문장까지 간다고 하면 그 자리에서 프로그램이 내용을 뿌리면서 죽는다고 봐야죠. (디버깅..)
1. 일단 주신 두 주소 전부 맞습니다.
http://aaaa-500.com/api/auth?user=test01&pw=1111&foba=10
http://aaaa-500.com/api/auth/?user=test01&pw=1111&foba=10
두 주소를 1차원적으로 풀어드리자면
/auth/index.php?user= ~~~~
형태입니다.
네트워크간 설정 상태에 따라 다릅니다.
실제로 여러 곳과 api통신을 하다보면 리턴값의 / 유뮤가 다른 경우가 더러 있습니다.
2. 요점을 잘 파악하셨네요.
여기서 중요한 점은 GET방식의 전달은 해킹에 취약하며, URL의 길이에 해당하는 부분이라 길어지거나 그 수가 많아질 경우 누락될 가능성이 있습니다.
물론 POST도 동일한 누락가능성이 있으나 GET에 비해서 어마어마하게 많은 양의 데이터를 실어나를 수 있습니다.
때문에 정말 중요하고 누락되어선 안되는 내용은 haeder에 싫어서 보냅니다.