개발자
Javascript를 배우고 있습니다. DOM공부를 마치고 ajax로 비동기 데이터 이동을 공부하는데 XMLHttpRequest나 WebSocket등의 사용을 해보고자 구글링과 유튭영상들을 아주 많이 봤는데 요청을 처리할 주소라고해서 링크가 항상 들어가는데 이 링크가 정확히 어떤 링크를 넣어야 하는건지, 링크를 직접 만들 수는 없는건지, 링크의 용량제한이나 구성은 백엔드 배포로만 가능한지 궁금합니다.
답변 2
안녕하세요 질문 주신 내용은 정확하게 말하면 ajax와 같은 비동기 통신을 할 때 사용하는 링크에 대해서 여쭈어본 것 같습니다. 웹과 같은 서비스를 구축할 때는 사용자가 조작하는 뷰를 만드는 Frontend와 데이터를 저장하고 처리하는 Backend로 나뉘며 이 둘은 보통 Http 프로토콜을 이용하여 통신을 하게 됩니다. 이떄 JS에서 백엔드에 통신을 하기 위해서 사용하는 것 중 하나가 ajax입니다. 통신을 할 때는 URL, Method, 데이터 등을 사용하게 되는 데 이 때 URL이 사용하시는 링크 입니다. 링크는 백엔드를 구축하신다면 링크를 직접 만드실 수 있으며, 질문자님의 컴퓨터에서 백엔드를 실행하면 굳이 배포가 필요 없지만 보통은 백엔드를 배포하여 사용 합니다. 링크는 Swagger등을 활용하여 API 명세서를 보통 Backend에서 만드는 데 거기에 어떤 API가 어떤 URL를 이용하면 된다라고 명세 되어있습니다.
김정우
작성자
알빠노 프론트엔드 개발자 • 2023년 05월 08일
친절한 설명 감사합니다!
비동기 요청에서 사용되는 '링크'는 주로 웹 API를 호출할 때 사용되는 URL을 의미합니다. 이 링크는 서버가 정의한 API 엔드포인트의 위치를 가리킵니다. 이 링크를 통해 서버에 요청을 보내고, 서버는 이 요청에 대한 응답을 돌려줍니다. 예를 들어, 같은 코드에서 #1의 '링크'는 https://api.example.com/data 를 가리킵니다. 이 경우, XMLHttpRequest 객체는 GET 방식의 HTTP 요청을 'https://api.example.com/data'라는 URL에 보냅니다. 이 URL은 API 엔드포인트를 가리키며, 이 엔드포인트는 서버에 의해 정의되고 제공됩니다. '링크'는 직접 만들 수 없습니다. 이 링크는 서버 측에서 정의하고 제공해야 합니다. 즉, 서버 개발자가 API를 설계하고 해당 API를 호출할 수 있는 엔드포인트를 정의해야 합니다. 이 엔드포인트는 클라이언트 개발자에게 문서나 기타 형식으로 제공되며, 클라이언트 개발자는 이 엔드포인트를 사용하여 서버에 비동기 요청을 보냅니다. 링크의 용량 제한이나 구성 등은 HTTP 및 웹 서버의 설정에 따라 다릅니다. 대부분의 경우, URL의 길이는 적어도 2000 문자로 제한되며, 이는 대부분의 웹 브라우저와 웹 서버가 지원하는 최소한의 길이입니다. 하지만, 이보다 더 긴 URL을 지원하는 웹 서버도 있습니다. 일반적으로, URL의 길이가 이 제한을 초과하면 서버는 414 'Request-URI Too Long' 오류를 반환합니다. 이런 이유로, 대량의 데이터를 전송해야 할 경우 POST 방식을 사용하는 것이 좋습니다.
1let xhr = new XMLHttpRequest();
2xhr.open("GET", "https://api.example.com/data");
3xhr.send();
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!