Làm cách nào để biết liệu thiết lập nén HTTP có hoạt động không? Có công cụ nào tôi có thể sử dụng để xem trang nén trước khi trình duyệt không giải nén không? Có bất kỳ công cụ nào để đo lường tốc độ nén và tốc độ phản hồi không?Làm cách nào để bạn biết liệu tính năng nén HTTP có hoạt động không?
Trả lời
Bạn có thể sử dụng trang web này: http://whatsmyip.org/mod_gzip_test/
Đối với Windows, tôi khuyên bạn nên Fiddler, mà là một công cụ client-side mà ủy nhiệm lưu lượng web của bạn và cho phép bạn kiểm tra nó. Nó sẽ hiển thị cho bạn nếu nén và đang hoạt động. Nó cũng hữu ích cho nhiều tác vụ gỡ lỗi và chẩn đoán liên quan đến phía máy khách khác của HTTP.
Sử dụng Fiddler để theo dõi quá trình truyền HTTP của bạn.
"Yêu cầu xây dựng" (tạo HTTP GET) và kiểm tra tiêu đề "Mã hóa nội dung" của phản hồi HTTP cho trang không nén của bạn và kiểm tra "Độ dài nội dung". So sánh chúng với cùng giá trị cho trang nén của bạn.
"Mã hóa nội dung" phải giống như "gzip" cho phản hồi được nén và "Độ dài nội dung" của bạn phải ngắn hơn. Bạn có thể sử dụng trường "Độ dài nội dung" từ cả hai để xác định tỷ lệ nén.
Wireshark, former Etherial đã được chứng minh là công cụ có giá trị nhất đối với tôi.
Chỉ cần chọn bộ điều hợp mạng (nếu có nhiều), nhập "tcp port 80" vào trường bộ lọc, nhấn Capture - và bạn đã hoàn tất.
Nếu bạn muốn sử dụng công nghệ thấp, bạn có thể telnet đến cổng HTTP (80?) Trên máy chủ đích và nhập yêu cầu theo cách thủ công. Nếu bạn nhận được văn bản đơn giản trở lại, sau đó nó không gzipped, nhưng nếu bạn nhận được vô nghĩa thì bạn đang lên một cái gì đó. Nếu bạn cần xem cấu trúc của các tiêu đề, bạn có thể sao chép chúng từ Firefox bằng cách sử dụng một cái gì đó giống như phần mở rộng Live HTTP Headers.
Tôi không nghĩ rằng điều này sẽ làm việc sk, trừ khi bạn gõ vào các tiêu đề nén chính xác. Thông thường trình duyệt gửi tiêu đề đến máy chủ đầu tiên chỉ ra các loại nén nó sẽ chấp nhận, và sau đó máy chủ sẽ chỉ gửi nội dung ở định dạng nén được trình duyệt hỗ trợ (hoặc không nén). –
Đối với Firefox có một cái nhìn tại các add-ons:
- Firebug
- HttpFox
Cả hai có thể được sử dụng để giám sát giao thông của bạn đến/từ trình duyệt (Bạn có thể xem kích thước của mỗi phản ứng). Tôi đặc biệt thích Httpfox, một add-on thực sự tốt đẹp mà tôi sử dụng hàng ngày.
Cũng giống như Fiddler để xem lưu lượng truy cập cấp HTTP, bạn có thể sử dụng Firefox với các tiện ích Firebug và YSlow. YSlow cung cấp cho bạn rất nhiều phân tích hữu ích về lý do trang của bạn có thể chậm - trong số đó, nó cung cấp cho bạn kích thước của các nội dung khác nhau mà yêu cầu của bạn tải xuống (HTML, CSS, JavaScript, hình ảnh và các phương tiện khác, v.v.). Bạn có thể so sánh kích thước của các trang có và không có nén - nếu HTML nhỏ hơn với tính năng nén được bật, bạn biết nó đang hoạt động. Nó cũng sẽ cung cấp cho bạn các giá trị với một bộ nhớ cache trống và một bộ đệm ẩn, cho phép bạn xem bạn đang tiết kiệm bao nhiêu cho cả khách truy cập mới và khách truy cập quay lại.
Một phiếu bầu khác cho YSlow tại đây. Nó sẽ cảnh báo bạn nếu bất kỳ tài sản của bạn không được gzipped. –
Chúng tôi đã tìm kiếm xung quanh một chút. Rõ ràng, có rất nhiều trang web có thể xác minh rằng các trang của chúng tôi được nén.
muốn chia sẻ các liên kết đó? – nickf
Vâng, có một số trang web tốt làm điều này, nhưng chúng không hữu ích cho các máy chủ mạng nội bộ hoặc phát triển localhost. :-( –
Cách đơn giản nhất là sử dụng này:
cũng xem http://99webtools.com/http_compression.php# - điều này sẽ kiểm tra xem trình duyệt có hỗ trợ nó quá –
Đây không phải là IIS cụ thể, nhưng bạn có thể sử dụng cURL:
curl -H 'Accept-Encoding: gzip,deflate' -D - http://example.com
Sau đó tìm kiếm một tiêu đề Content-Encoding: gzip
trong đầu ra.
Dễ hơn nhiều so với các câu trả lời khác không –
không hoạt động đối với tôi độ cao chrome hiển thị trong phản hồi tiêu đề – Marko
nếu bạn có chrome, nhấn F12 và sau đó điều hướng đến trang web. Khi trang web tải, hãy chuyển đến tab Mạng. Nhấp vào tập tin bạn đang tìm kiếm và sau đó Tìm phần Header Response trong phần Headers. Hãy tìm phần nội dung mã hóa
Nhìn vào hình ảnh dưới đây cho một ví dụ
'content-encoding: gzip' đơn giản chỉ ra rằng gzip đang hoạt động Nhưng bạn thấy kích thước dữ liệu và kích thước nội dung ở đâu, điều đó sẽ giúp xác định tỉ lệ nén, vv? – Shiva
Các dễ nhất, điều nhanh nhất là hãy nhìn vào các công cụ phát triển Mạng tab và xem nếu Nội dung và Kích thước giá trị cho mỗi yêu cầu khác nhau. Nếu các giá trị khác nhau thì nén sẽ hoạt động. Chia số kích thước theo nội dung để nhận tỷ lệ nén của bạn. Tôi không chắc chắn các giá trị này được hiển thị trong bao lâu nhưng chúng có trong Chrome 53. Không chắc chắn trên Firefox.
Đây là câu trả lời đúng. Xin lưu ý, trong phiên bản mới nhất của chrome, trường 'Nội dung' được hiển thị ở trên không hiển thị theo mặc định. Ngoài ra, tôi cho rằng nó được đổi tên thành' Nội dung Độ dài'. Nếu không hiển thị, hãy nhấp chuột phải vào tiêu đề cột ở bất kỳ đâu và chọn 'Phản hồi-Tiêu đề' từ danh sách các trường và sau đó chọn 'Content-Length' để xem nó. – Shiva
Tôi không nghĩ rằng nó hoạt động như một proxy; Tôi nghĩ rằng nó khai thác vào ngăn xếp TCP/IP và hooked vào truyền. Không? – core
LOL, đừng bận tâm — nó nói ngay trên trang web là proxy! – core
Vâng, đó là một proxy. Miễn là trình duyệt được xử lý tốt và tuân thủ các cơ chế thông thường để xác định proxy nào sẽ được sử dụng, không cần phải có hooking đặc biệt. –