Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chunked Encoding 지원 추가 #3

Closed
eungjun-yi opened this issue Dec 29, 2012 · 7 comments
Closed

Chunked Encoding 지원 추가 #3

eungjun-yi opened this issue Dec 29, 2012 · 7 comments
Assignees

Comments

@eungjun-yi
Copy link
Member

기본적으로 body를 갖고 있는 HTTP 메시지는 Content-Length 헤더를 포함해야 하지만, 때때로 HTTP 메시지의 전송을 시작하는 시점에서 body의 길이를 결정하기 어려운 경우가 있습니다.
아주 큰 파일을 전송하거나, 혹은 현재 생성중인 데이터를 보내주어야 하는 상황에 그런 경우에 해당합니다.

해결책은 HTTP body를 여러 덩어리로 쪼개에 보낼 수 있도록 해주는 Chunked Encoding을 사용하는 것입니다. Chunked Encoding을 사용하면 Content-Length 헤더를 보내지 않아도 됩니다.
(그 외에 Persistent Connection을 사용할 수 없는 상황에서 큰 데이터를 전송해야 할 때도 유용할 것입니다)

참고자료: RFC 2616 3.6 Transfer Encoding, 7. Entity

@ghost ghost assigned rampart81 Dec 31, 2012
@rampart81
Copy link

Chunked Encoding 을 지원하기 위해서 간단한 API 를 통해서 유저가 원하면 Chunked encoding 을 사용할수 있는 방법을 생각중입니다. 그래서, 현재 모든 코드가 main.scala 이라는 한 파일에 다 들어가 있는데, HttpServer 클라스 와 HttpIteratees 오브젝트 등등을 다른 파일로 나누는 refactoring 을 할려고 합니다. 지금 짜고 계시는 코드와 conflict 가 있을까봐 미리 말씀드립니다 ^^ 혹시 conflict 있을꺼 같으면 말씀해주세요 ^^

@rampart81
Copy link

밑에 처럼 refactor 할려고 합니다. 어떻게 생각하세요?

Screen Shot 2013-01-10 at 6 37 39 PM

@daclouds
Copy link
Member

코드가 복잡해지면 언젠간 나눠야 할텐데 미리 해두면 좋죠~
찬성합니다.

하지만 이 이슈와는 성격이 다른듯하니
이슈를 분리해서 따로따로 진행하는게 어떨까요?

@rampart81
Copy link

이슈를 따로 분리해서 진행하는것도 좋을것 같네요. 그렇게하면 파일부터 먼저 나눈후 그것을 base 로 각자 task 를 진행시킬수 있을테니깐요. 이응준 님께서 task 새로 하나 열어주셔서 저에게 assign 해주실수 있으신가요? 그럼 제가 곧바로 pull request 보낼겠습니다.

@eungjun-yi
Copy link
Member Author

@rampart81 넵, 이슈 등록하였습니다.

@rampart81
Copy link

네 감사합니다 ^^

eungjun-yi added a commit that referenced this issue Jan 22, 2013
#3 Chunked Encoding 지원 추가
@rampart81
Copy link

아직 이 task 가 open 이네요. Close 부탁드려요 ^^
그리고 다른분이 없다면 제가 다음 task 로 #4 를 할까합니다. 이것도 부탁드립니다 ^^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants