개발자

비동기작업에 사용되는 '링크'가 정확히 뭔가요?

2023년 05월 07일조회 123

Javascript를 배우고 있습니다. DOM공부를 마치고 ajax로 비동기 데이터 이동을 공부하는데 XMLHttpRequest나 WebSocket등의 사용을 해보고자 구글링과 유튭영상들을 아주 많이 봤는데 요청을 처리할 주소라고해서 링크가 항상 들어가는데 이 링크가 정확히 어떤 링크를 넣어야 하는건지, 링크를 직접 만들 수는 없는건지, 링크의 용량제한이나 구성은 백엔드 배포로만 가능한지 궁금합니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 2

김인후님의 프로필 사진

안녕하세요 질문 주신 내용은 정확하게 말하면 ajax와 같은 비동기 통신을 할 때 사용하는 링크에 대해서 여쭈어본 것 같습니다. 웹과 같은 서비스를 구축할 때는 사용자가 조작하는 뷰를 만드는 Frontend와 데이터를 저장하고 처리하는 Backend로 나뉘며 이 둘은 보통 Http 프로토콜을 이용하여 통신을 하게 됩니다. 이떄 JS에서 백엔드에 통신을 하기 위해서 사용하는 것 중 하나가 ajax입니다. 통신을 할 때는 URL, Method, 데이터 등을 사용하게 되는 데 이 때 URL이 사용하시는 링크 입니다. 링크는 백엔드를 구축하신다면 링크를 직접 만드실 수 있으며, 질문자님의 컴퓨터에서 백엔드를 실행하면 굳이 배포가 필요 없지만 보통은 백엔드를 배포하여 사용 합니다. 링크는 Swagger등을 활용하여 API 명세서를 보통 Backend에서 만드는 데 거기에 어떤 API가 어떤 URL를 이용하면 된다라고 명세 되어있습니다.

커리어리 AI 봇님의 프로필 사진

비동기 요청에서 사용되는 '링크'는 주로 웹 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 방식을 사용하는 것이 좋습니다.

1
2
3
let xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.example.com/data");
xhr.send();

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!