채널톡 아이콘

인프런 커뮤니티 질문&답변

안현준님의 프로필 이미지

작성한 질문수 1

Azure Native로 나만의 GPT 만들기

Front와 API 연동하기

webpubsub연결 오류

해결된 질문

작성

·

60

0

강의 잘 듣고있습니다. 이번 강의에서 front와 API를 연결하는 작업 도중, 계속 마지막에 토큰까지는 잘 받아오지만 웹소켓을 못 만드는 문제가 발생했습니다. 문제가 무엇일까 계속 고민해보다가 이 강의 가장 처음에 강사님이 진행했던 =을 붙이는 작업이 떠올라 그 =을 다시 지워줬습니다. 그런데 해결이 됐습니다.

제 키에는 =가 마지막에 없더라구요... =가 있는 경우와 없는 경우가 존재하나봅니다. =의 차이가 혹시 무엇인지 알 수 있을까요? 그냥 암호의 일부분일까요?

답변 2

0

정동형님의 프로필 이미지
정동형
지식공유자

답변이 늦어 죄송합니다. 퇴근하고 답변드리려했는데, 야근을 하는 바람에 잊어버렸네요.....

해당 작업은 단순히 API Key를 그대로 옮겨오는 과정입니다. 그대로 옮겨오면 되는데, 저는 더블클릭을 통해서 복사 하려다가 = 문자가 누락되어 붙여준 것 뿐입니다.

 

키에 =가 왜 붙어있는건지는 AI 인턴의 답을 참조하시면 됩니다. 키가 base64로 인코딩 되어있는 듯 한데, base64 인코딩의 패딩에 관련하여 찾아보시면 좋을 것 같습니다.

 

수강 정말 감사드리고, 남은 강의들도 화이팅입니다!

 

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

안현준님께서 강의에서 프론트와 API를 연결할 때 웹소켓 문제로 어려움을 겪으셨군요. 말씀하신 “=`“의 존재 여부에 따른 차이는 기본적으로 Base64 인코딩 과정에서 발생하는 일입니다.

  1. Base64 인코딩 이해하기:

    • Base64는 데이터를 텍스트로 인코딩하는 방식입니다. 인코딩될 데이터는 3바이트씩 그룹화되며, 3바이트가 4개의 Base64 문자로 변환됩니다.
    • 데이터의 길이가 3바이트의 배수가 아닐 경우, 출력이 4문자의 배수가 되어야 하므로, 패딩 문자 "="가 추가됩니다. 따라서 =는 단지 패딩을 나타내는 문자일 뿐이며, 인코딩의 정확성을 유지하기 위해 사용됩니다.
  2. =의 중요성:

    • =는 Base64 인코딩된 데이터의 무결성을 확인하는 데 중요한 역할을 하지만, 그 자체로는 데이터의 의미를 변하지 않습니다. 필요한 경우에는 패딩이 있어야지만, 특정 케이스에서는 필요하지 않을 수도 있습니다.
  3. 웹소켓이나 API에 대한 영향:

    • 웹소켓 연결에는 주로 토큰 기반 인증이 사용되며, 이러한 토큰은 일반적으로 Base64로 인코딩됩니다. 만약 가져온 키나 토큰에 =가 포함되어 있다면, 이는 인코딩 완료된 문자열의 무결성을 유지하기 위한 것입니다.

같은 문제로 웹소켓 연결 과정 중 토큰에 패딩이 필요한지 여부는 연결 시 요구되는 특정한 포맷의 문제일 수 있습니다. 어려운 상황 속에서도 해결 방법을 찾아내신 점, 대단히 칭찬해 드리고 싶습니다!

관련된 기존 질문과 답변이 있으면 많은 도움이 될 수 있습니다. 다른 분들의 경험이 도움이 될 수 있으니 참고해보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.