차이

2013-03-15 1 views
0
여기

나의 이야기 , 문제는 좋은 성능을 내기 위해 무엇을 사용해야하는지 모른다. WebDAV 프로토콜을 사용하여 파일을 업로드차이

  • :

    은 누군가가 나에게 사이의 성능 차이를 알 수 있습니다.

  • WebSocket Protocol (socket.io)을 사용하여 파일을 업로드하는 중입니다.

이 방법은 faster + consumes less resources + better이다.

업로드 방법으로 YouTube이 어떤 방법을 사용하고 있는지 말해 줄 수 있습니까?

감사합니다.

+0

자신의 서버와 클라이언트가있는 경우 예를 들어 HTTP를 통해 고유 한 프로토콜을 만들 수 있습니다. –

+0

WebDAV는 HTTP를 통한 파일 작업을위한 메소드 세트 일 뿐이며 비용을 절약하지 못합니다. WebDAV를 통해 파일을 업로드하려면 적어도 두 개의 쿼리, 즉 HEAD (또는 PROPFIND)가 있어야 이름 및 PUT 요청 (때때로 POST)이있는 경로에 파일이 존재하지 않습니다. –

+0

그러나 PUT 요청 만 보낼 수 있으며 서버는 이러한 파일 이름이 사용중인 경우 예를 들어 412 Precondition Failed와 같은 오류를 반환해야합니다. –

답변

4

웹 소켓은 소켓을 여러 통신 요청에 다시 사용하면 리소스를 절약 할 수 있습니다. 그러나 단일 업로드 기능을 사용하기 위해이 파일을 사용한 경우 일반 HTTP PUT과 차이가 없습니다.

websocket 연결을 생성하는 것은 일반적인 HTTP 연결을 시작하는 것과 동일한 단계를 거치지 만 끝에서 모드를 변경하므로 연결 준비가되어 전송을 기다리고 있습니다. 따라서 사용자가 websocket 연결을 사용하여 10 번의 업로드를 수행하는 경우 정상적인 HTTP PUT에는 10 개의 핸드 셰이크가 있지만 하나의 핸드 셰이크 만 있기 때문에 잠재적으로 장점이 있습니다.

그러나 websocket 업로드를 수행하려면 HTTP와 마찬가지로 websocket 표준의 일부로 표준 파일 업로드 의미가 없으므로 "직접 제작"해야합니다. 이는 버그와 비효율 가능성이 있음을 의미합니다.

어떤 접근 방식이 "더 나은"대답을 얻으려면 파일 업로드를 위해 웹 소켓을 사용하여 성능을 향상시키는 것이 측정 가능하지 않을 수도 있지만, 그렇게하는 것이 버그와 비효율의 위험을 초래할 수 있다고 생각합니다.

+0

Thx 남자, 난 +1주고 싶지만 명성이 15 필요하고, 나는 2, thx 다시 –