HTTPS cho toàn bộ trang web


10

Tôi đang làm việc trên một trang web khá chuẩn với nội dung công khai cộng với nội dung cá nhân / tùy chỉnh cho người dùng đã đăng ký. Tôi biết tôi cần sử dụng HTTPS khi người dùng đăng nhập hoặc gửi chi tiết thẻ tín dụng. Có lý do nào tôi không nên sử dụng HTTPS cho toàn bộ trang web không?

Câu trả lời:


12

Có, có một lý do bạn không nên sử dụng nó cho toàn bộ trang web. Một số trình duyệt (tùy thuộc vào nhãn hiệu và phiên bản) sẽ không lưu nội dung từ các yêu cầu HTTPS vào đĩa, điều này có thể làm chậm nghiêm trọng trải nghiệm duyệt web của người dùng, vì tài sản tĩnh sẽ được tải với mọi yêu cầu trang (biểu định kiểu, javascript, hình ảnh tiêu đề, v.v.) . Ví dụ: Mozilla tuyên bố rằng:

"Bộ nhớ đệm đĩa lưu các bản sao của các tệp đã tải xuống trên ổ cứng để chúng không cần phải tải xuống để được hiển thị lại. Những trang này có thể được xem bởi bất kỳ ai có quyền vào thư mục bộ đệm. Các trang được truyền bằng mã hóa SSL thường chứa thông tin nhạy cảm và lưu vào bộ nhớ cache của các trang này vào đĩa có thể có rủi ro về quyền riêng tư. Tùy chọn này kiểm soát xem có lưu vào bộ đệm trang được truyền bằng mã hóa SSL hay không. "

Làm thế nào các trình duyệt bộ nhớ cache HTTPS riêng lẻ có phần bị tranh chấp nhưng vẫn có khả năng nhiều người dùng sẽ bị vô hiệu hóa bộ đệm ẩn đĩa cho các yêu cầu HTTPS.

Thứ hai, HTTPS yêu cầu " bắt tay " cho mọi yêu cầu và điều này đi kèm với một số chi phí, điều này sẽ ảnh hưởng đến hiệu suất và làm cho các yêu cầu lớn hơn (thường chỉ bằng vài KB - nhưng nó cho mọi yêu cầu và điều này cộng lại). HTTP KeepAlive có thể hạn chế điều này, nhưng nó vẫn là một chi phí mà bạn không cần cho nội dung không an toàn.


2
Tất cả mọi thứ ở đây là sự thật. Tuy nhiên, chúng tôi đã chạy một trang web SSL đầy đủ trong khoảng 5 năm nay và chúng tôi chưa bao giờ có khiếu nại từ người dùng của mình. Hầu hết trong số họ là công ty nên trên IE6 và IE7 với một số ít trên Firefox ngày nay. Bộ nhớ đệm có vẻ hoạt động tốt, nhưng chúng tôi có các quy tắc hết hạn nội dung rõ ràng được đặt trên nhiều hình ảnh, tôi không biết điều đó có làm nên sự khác biệt hay không.
Mark Henderson

5
Đừng đoán: kiểm tra :-). Một cách đơn giản (mặc dù thô & chưa hoàn thành 100%) nếu kiểm tra bộ đệm đang hoạt động là kiểm tra nhật ký máy chủ của bạn để biết yêu cầu của người dùng. Có phải họ yêu cầu tất cả hình ảnh / tập tin hoặc chỉ nội dung không được lưu trữ? Người dùng cá nhân là những người đánh giá độ trễ kém, nhưng khi tổng hợp, có thể nhìn thấy mili giây, vì vậy tôi chắc chắn sẽ đảm bảo rằng tốc độ thực sự chấp nhận được.
John Mueller

10

Nếu bạn dự định chạy SSL đầy đủ, hãy đảm bảo rằng mọi dịch vụ bên thứ ba được lưu trữ mà bạn đang sử dụng (máy chủ quảng cáo, phân tích, công cụ chia sẻ, v.v.) đều có sẵn phiên bản SSL hoặc bạn sẽ nhận được cảnh báo nội dung hỗn hợp trên một số trình duyệt.


5

Một vấn đề khác là mọi thứ bạn phục vụ từ bất kỳ trang nào sau đó thực sự cần phải thông qua SSL, bao gồm cả tài nguyên của bên thứ ba. Chúng tôi đã tìm thấy đây là một vấn đề thực sự với một cái gì đó như YouTube, ví dụ. Do Google không làm cho các video YouTube có sẵn thông qua SSL, nó có nghĩa là bất kỳ video YouTube bạn làm muốn nhúng trong một trang trên trang web của bạn sẽ làm cho "Trang này chứa nội dung bảo mật và không bảo mật" cảnh báo. Trong khi điều này là tinh tế trong hầu hết các trình duyệt, thì đó là một hộp thoại lớn trong IE và có thể khiến một số người dùng từ bỏ trang web của bạn khá nhanh, khiến dữ liệu của họ bị kẹp chặt vào ngực vì sợ hãi.


2

Bạn cũng nên nghĩ về sự tăng trưởng. Khi bạn có nhiều hơn một máy chủ web, bạn sẽ phải quyết định: Bạn có muốn cung cấp HTTPS trên mỗi máy chủ riêng lẻ không và nếu có, bạn sẽ sử dụng cùng một chứng chỉ hoặc chứng chỉ cho mỗi máy chủ như thường được đề xuất. Tôi đã thấy các thiết lập phổ biến hơn khi có ít máy chủ HTTPS hơn vì chúng thường chỉ được sử dụng để xử lý các chi tiết nhạy cảm và nhiều máy chủ HTTP hơn vì chúng có xu hướng nhận phần lớn lưu lượng. HTTPS thêm một chút phức tạp vào mỗi thiết lập của bạn. Chỉ là một thứ để ghi nhớ trong đầu.


1

Như tôi thấy, lý do duy nhất để không sử dụng HTTPS trên toàn bộ trang web của bạn là nó sẽ làm chậm máy chủ của bạn và một số khách truy cập có trải nghiệm duyệt chậm hơn một chút. Điều đó đang được nói, có lợi ích. Đặc biệt:

  1. Bạn sẽ không bao giờ phải lo lắng về việc đặt dữ liệu bạn muốn giữ an toàn trên bất kỳ trang nào trên trang web của bạn. Bạn không thể quên.
  2. Người dùng sẽ nhận thấy trang web của bạn được mã hóa hoàn toàn và có thể cảm thấy an toàn hơn trong việc cung cấp cho bạn thông tin của họ.
  3. Người dùng biết rằng trang web của bạn thuộc về công ty của bạn và chưa bị chiếm.

Ngoài việc giúp các nhà phát triển của bạn không lo lắng về việc hiển thị dữ liệu an toàn trên một trang không được mã hóa, thực sự không có lý do kỹ thuật nào để sử dụng HTTPS trên mỗi trang. Bởi lý do tương tự, có rất ít lý do để không.


Một lý do khác để không sử dụng HTTPS trên toàn bộ trang web ... sẽ sử dụng nhiều băng thông hơn vì các trang sẽ không được lưu trong bộ nhớ cache của khách hàng (về mặt lý thuyết).
MrWhite

"Bạn sẽ không bao giờ phải lo lắng về việc đặt dữ liệu bạn muốn giữ an toàn trên bất kỳ trang nào trên trang web của bạn." - Tôi không chắc điều này đúng như thế nào. Google sẽ lập chỉ mục _and cache_ (!) Các trang này theo mặc định. Và nếu được yêu cầu, sẽ xuất hiện để phục vụ phiên bản được lưu trong bộ nhớ cache dưới dạng HTTP đơn giản.
MrWhite

0

cuối cùng nhưng không kém phần quan trọng, một số nhà tuyển dụng không thích trình duyệt của họ trên các trang https "được mã hóa". Đây là trường hợp của các công ty và tổ chức quốc phòng / bảo mật, vì vậy nếu bạn có trang web "chỉ https", bạn có thể mất một số khách truy cập / khách hàng này, vì mạng của họ sẽ không cho phép họ duyệt trang web của bạn.


Bạn có bất cứ bằng chứng nào về điều này? Bạn có thể liên kết đến các bài viết hỗ trợ cho yêu cầu này?
Andrew Lott

Tôi có kinh nghiệm cá nhân của tôi với chủ đề này. Tôi điều hành trang web lớn tập trung vào quân đội và trong khi chúng tôi thử nghiệm thiết lập HTTPS, chúng tôi phát hiện ra đây sẽ là một vấn đề đối với phần lớn người dùng của chúng tôi, chỉ vì chủ nhân của họ không cho phép lướt https từ mạng của họ (thậm chí truy cập ngân hàng, wikipedia và các trang web khác thông qua https là không thể). Tôi đã đưa ra một chủ đề khác về cách tiếp cận vấn đề này, khi chúng tôi bị google buộc phải chuyển sang https - đây không phải là vấn đề mà mọi người đều biết, nhưng nó có thể xảy ra và mọi người có thể cần phải xem xét nó.
Radek

Tôi tự giải thích rằng một số công cụ giám sát cần xem "nội dung" của các gói trên proxy hoặc bất kỳ "người đứng giữa" nào giữa những người dùng và trang web này, để có thể theo dõi các vấn đề bảo mật, bí mật hoặc bất cứ điều gì và sử dụng SSL từ chối giám sát như vậy. Do đó, https không được phép ở các công ty này (tôi không nói trong tất cả các công ty, nhưng rõ ràng ít nhất là trong một số trong số họ, vâng)
Radek
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.