Câu hỏi này, như bạn có thể đã suy ra từ tiêu đề, thực sự là hai câu hỏi trong một câu hỏi.Tôi có phải sử dụng HTTP/2.0 để gửi Thông báo đẩy của Apple không? Tôi có thể sử dụng libcurl không?
Câu hỏi đầu tiên: Tôi có phải sử dụng HTTP/2.0 để gửi Thông báo đẩy của Apple không?
Trên APNs Provider API documentation cung cấp bởi Apple, đoạn mở đầu xác định
API này được dựa trên giao thức mạng HTTP/2.
Có một số tham chiếu khác tới HTTP/2.0 trong suốt tài liệu. Tuy nhiên tôi không nhìn thấy (không phải là để nói nó không có) bất cứ điều gì chỉ định rằng HTTP/2.0 phải được sử dụng. Điều này có nghĩa là tôi được phép sử dụng bất kỳ phiên bản HTTP nào không? Hay tôi thực sự bị ràng buộc với HTTP/2.0?
Tôi rất quen thuộc với HTTP/1.1 nhưng tôi biết hầu như không có gì về HTTP/2.0, vì vậy nếu tôi có thể sử dụng giao thức quen thuộc cũ của tôi, tôi sẽ thích điều đó.
Câu hỏi thứ hai (dựa trên câu hỏi đầu tiên): Tôi có thể sử dụng libcurl với APN không?
Câu hỏi này chỉ phù hợp với câu trả lời khẳng định cho câu hỏi đầu tiên. Nếu không đúng là tôi phải sử dụng HTTP/2.0 với APN thì tôi đã biết rằng tôi có thể sử dụng libcurl.
Tôi sẽ gửi nhiều APN từ một máy chủ đã bận và tôi muốn thực hiện nó một cách tự nhiên - do đó tôi định sử dụng libcurl nếu có thể. Tuy nhiên tôi hiểu rằng libcurl có phần hạn chế khi nói đến HTTP/2.0.
Vấn đề chính là khi libcurl tạo kết nối HTTP/2.0, nó thực sự bắt đầu với yêu cầu HTTP/1.1 bao gồm tiêu đề upgrade
và sau đó đợi dòng trạng thái 101 Switching Protocols
. Hành vi này có được hỗ trợ với APN không? Hoặc tôi phải cố gắng sử dụng một cái gì đó như nghttp2?
Tôi nhận thấy rằng nghttp2 hơi phức tạp và rất không được ghi nhận tài liệu vào lúc này. Tôi lo lắng rằng nếu tôi không thể sử dụng libcurl tôi có thể sẽ phải thực hiện HTTP/2.0 trên của riêng tôi bằng cách sử dụng ổ cắm (đó sẽ là WORST).
Bất kỳ trợ giúp nào được đánh giá cao cho một trong hai câu hỏi! Cám ơn mọi người!
curl dòng lệnh phù hợp với trường hợp này với HTTP/2. Chỉ cần sử dụng tùy chọn --http2 và url https: //. Vì vậy, phải có cách để bạn có thể thực hiện libcurl cũng như vậy. – dsign
HTTP/2 được thực hiện qua URL HTTP: // bình thường, nơi chúng tôi không biết phiên bản nào nói được thường được thực hiện với Nâng cấp: HTTPS: // được thực hiện khác nhau. libcurl _will_ cuối cùng cũng nhận được hỗ trợ HTTP2 kiến thức trước và bạn được chào đón để giúp chúng tôi triển khai nó. –
@DanielStenberg Tôi thực sự muốn được giúp đỡ. Nghe vui đó. Làm thế nào tôi có thể tham gia? –