2011-08-14 35 views
6

Các w3.org (RFC2616) dường như không xác định kích thước tối đa cho các khối. Nhưng không có kích thước chunk tối đa thì không có khoảng trống cho phần mở rộng đoạn. Phải có một kích thước tối đa, nếu không tôi không thể bỏ qua phần mở rộng đoạn như tôi được khuyên làm nếu nó không thể hiểu được (Trích: "MUST ignore chunk-extension extensions they do not understand").Kích thước đoạn tối đa trong phản hồi HTTP với Mã hóa chuyển mã là gì?

+0

tại sao bạn nghĩ rằng bạn cần một kích thước tối đa? bạn đang triển khai một máy chủ? một khách hàng? một proxy? – Yahia

Trả lời

8

Mỗi phần mở rộng đoạn phải bắt đầu bằng dấu chấm phẩy và danh sách các phần mở rộng đoạn phải kết thúc bằng CRLF. Khi phân tích cú pháp kích thước chunk, dừng tại một dấu chấm phẩy hoặc CRLF. Nếu bạn dừng lại ở dấu chấm phẩy, hãy bỏ qua mọi thứ tới CRLF tiếp theo. Không cần kích thước tối đa.

chunk   = chunk-size [ chunk-extension ] CRLF 
       chunk-data CRLF 

chunk-size  = 1*HEX 

chunk-extension= *(";" chunk-ext-name [ "=" chunk-ext-val ]) 
+0

Yêu cầu suy nghĩ của bạn cho cùng một câu hỏi tôi đã đăng trong câu trả lời của Roland. – smRaj

4

Đặc tả HTTP khá rõ ràng về cú pháp của thông báo HTTP.

Kích thước đoạn văn luôn được cung cấp dưới dạng số thập lục phân. Nếu số đó không được CRLF trực tiếp theo sau, thay vào đó, thay vào đó, thay vào đó là số ;, bạn biết rằng có phần mở rộng. Tiện ích mở rộng này được xác định theo tên của nó (chunk-ext-name). Nếu bạn chưa từng nghe đến tên cụ thể đó, bạn PHẢI bỏ qua nó.

Vậy vấn đề của bạn chính xác là gì?

  • Đọc một số thập lục phân
  • Bỏ qua tất cả mọi thứ lên đến CRLF tiếp theo
  • Hãy hạnh phúc
+2

Tôi muốn hỏi bạn sẽ làm gì khi máy chủ bị hỏng và gửi không bao giờ kết thúc số thập lục phân? Trở thành nạn nhân và đọc số thập lục phân không bao giờ kết thúc mãi mãi hoặc sửa một giới hạn phù hợp với đơn đăng ký của bạn và đưa ra cảnh báo khi điều đó xảy ra? – smRaj

+0

@smRaj Bất cứ điều gì có ý nghĩa nhất trong ứng dụng của bạn, có thể thiết lập một giới hạn hợp lý. –

+0

@DavidSchwartz: Điều đó có ích. – smRaj

Các vấn đề liên quan