RequestBody를 읽어올 때
68
21 câu hỏi đã được viết
RequestBody를 읽어올 때,
Content-Length의 값을 파싱하고 그 크기만큼 read()에 배열 형태로 전달해서 버퍼형태로 한번에 받아오게끔 작성하셨습니다.
여기서 궁금한 점은,
Content-Length는 byte 단위로 측정이 될텐데,
char[]를 그대로 사용하면 UTF-8로 디코딩이 자동으로 되는 이유가 궁금합니다..!
byte[] 단위로 읽어온 다음,
Charset을 지정해서 디코딩해야하는거 아닌가욤?
감사합니다!
Câu trả lời 2
0
안녕하세요, 인프런 AI 인턴입니다. 티티티님.
질문해주신 내용은 HTTP 요청의 RequestBody를 읽을 때의 인코딩 및 디코딩 문제를 다루고 있습니다. 올바른 charset 처리가 되지 않으면 문자 인코딩 문제가 발생할 수 있다는 점에 대한 이해가 필요합니다.
UTF-8이나 다른 인코딩을 사용하여 데이터가 엔지니어링되었을 때, 일반적으로 이를 처리할 때는 바이트 배열로 읽어들인 후, 지정된 Charset을 사용하여 디코딩하게 됩니다. 하지만 스프링을 포함한 많은 라이브러리에서는 HTTP 메시지의 Content-Type 헤더에 명시된 charset을 자동으로 인식하여 문자 스트림으로 변환해 주는 기능을 제공합니다.
이와 관련된 좀 더 자세한 정보는 아래의 유사한 질문을 통해 확인하실 수 있습니다:
- 톰켓이 클라이언트로부터 받은 HTTP를 디코딩하는 방식은 어떻게 되나요?: 이 게시물에서는 HTTP 헤더와 바디의 디코딩 방식에 대한 설명이 있습니다.
해당 질문은 Spring 등의 프레임워크가 HTTP 요청을 처리할 때, 인코딩 설정에 따라 자동으로 디코딩하여 바이트 데이터를 문자열 데이터로 변환해 주는 부분을 이해하시면 도움이 될 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
RequestHandler 버전 간 process() 파라미터 차이 질문
0
69
2
리플렉션 default
0
51
1
그럼 SOURCE나 CLASS는 어떤 경우에 사용하나요?
0
75
2
네트워크 프로그램 자원종료 Socket 정리 시 closed 사용 문의
0
99
2
FileInputStream의 transferTo 사용 시 Buffer 문의
0
63
1
오타 제보 드립니다
0
73
2
강좌 복습 팁이 있으신 분들 공유해주시면 감사하겠습니다.
0
104
1
16강 질문있습니다.
0
48
1
한글이 깨질 떄 어떻게 해야 하나요?
0
78
1
자원 정리시 에러가 발생 했을 때 메모리 상황 및 실무에서 로그 확인 방법
0
90
1
인텔리제이에서 네모(스탑버튼) 누르는 것의 의미
-1
66
1
강의 섹션 8: 네드워크 -프로그램 3부분 10:45 오타?
0
86
2
제대로 이해한게 맞나 궁금합니다
0
77
1
File,Files 강의 2번쨰 Files 07:30 에 tmep 파일들을 다 지운건가요 ?
0
61
1
/.well-known/appspecific/com.chrome.devtools.json 에러에 대해서
0
613
1
Socket 자원을 정리할때 stream 을 정리하지 않는 이유가 궁금합니다.
0
89
1
클라이언트 강제종료시 오류 메세지
0
106
2
고급 2편에는 퀴즈가 없네요?
0
97
1
55. 네트워크 프로그램5 - 자원정리2 질문
0
67
1
클라이언트가 FIN과 함께 보내는 ACK는 무엇에 대한건가요?
1
105
2
BufferedInputStream이 1바이트씩 조회해도 성능이 좋은 이유
0
79
1
오타제보
0
59
2
문자 집합 호환성 여부를 판단할 때
0
51
1
utf-8, char
0
51
1

