Tìm hiểu về HTTPS và lý do nên dùng HTTPS thay cho HTTP?

HTTP đã xuất hiện từ khi bắt đầu có internet vào cuối những năm 1980. Bạn có thể thấy nó ở đầu mỗi URL của một trang web trên thanh địa chỉ của trình duyệt, nhưng chính xác thì HTTP là gì?

HTTP, viết tắt của HyperText Transfer Protocol, là một hệ thống hay bộ quy tắc để truyền và nhận thông tin giữa máy chủ server và trình duyệt. Khi bạn duyệt đến một URL cụ thể trong trình duyệt, nó sẽ bắt đầu một cuộc “trò chuyện” với máy chủ server của website truy cập và tải xuống mọi thông tin cần thiết để hiển trị trang web đó.

Điều gì xảy ra nếu như trình duyệt của bạn cần gửi hoặc nhận thông tin cá nhân như tài khoản ngân hàng hay mật khẩu? Cuộc “trò chuyện” giữa máy chủ và trình duyệt diễn ra với HTTP trên “plain text” – văn bản thôi không được mã hóa. Nghĩa là bên thứ 3 có thể nghe trộm và ăn cắp toàn bộ thông tin. Đây là cách phổ biến để ăn trộm thông tin cá nhân quan trọng và nhạy cảm. Để ngăn chặn điều này, chúng ta cần sử dụng HTTPS.

HTTPS thực hiện cuộc trò chuyện giữa máy chủ server và trình duyệt giống hệt như trước đây, có điều tất cả thông tin bây giờ đã được mã hóa. Chỉ trình duyệt và máy chủ sở hữu khóa mới có thể giải mã nó. Việc này ngăn chặn bất kỳ kẻ nghe trộm nào hiểu được những gì đang diễn ra.

Cách hoạt động của HTTPS

Việc mã hóa xảy ra khi bạn sử dụng HTTPS được thực hiện bởi chứng chỉ SSL/TLS từ máy chủ trang web cũng như một khóa mã hóa duy nhất từ trình duyệt của bạn. Cả chứng chỉ và khóa được sử dụng xuyên suốt cuộc trò chuyện giữa trang web và trình duyệt để chứng minh cho mỗi bên biết rằng mình là ai. Không có những thứ này, bên thứ 3 có thể chặn cuộc trò chuyện và giả vờ là máy chủ hoặc trình duyệt để lấy cắp thông tin.

Trước khi cuộc trò chuyện bắt đầu, trình duyệt và máy chủ chào hỏi nhau và nhất trí 2 điều: loại mã hóa hai bên sử dụng và chìa khóa để giải mã đó. Sau đoạn chào hỏi này, cả trình duyệt và máy chủ trang web sẽ nói cùng một ngôn ngữ được mã hóa và có một cuộc trò chuyện riêng tư khó có thể nghe lén.

Làm sao bạn biết HTTPS đang hoạt động?

Bỏ qua tất cả những công nghệ phức tạp đằng sau, trình duyệt của bạn giúp dễ dàng đảm bảo rằng HTTPS đang được bật và hoạt động đúng. Ngoài việc URL bắt đầu bằng HTTPS, bạn cũng sẽ thấy biểu tượng ổ khóa bên cạnh cho biết kết nối với trang web là an toàn.

HTTPS trên google chrome

HTTPS trên google chrome 2

Nếu bạn không thấy xác nhận đó trên trình duyệt của mình thì HTTPS đang không hoạt động và mọi thông tin bạn đang gửi và nhận không được mã hóa. Điều này ổn, nếu như bạn chỉ duyệt trang web mà không nhập bất kỳ thông tin cá nhân nào vào. Tuy nhiên, bạn phải luôn đảm rằng HTTPS luôn hoạt động bất cứ khi nào thực hiện các hoạt động như đăng nhập, điền vào biểu mẫu hoặc mua sắm trên các trang thương mại điện tử như Tiki, Shopee,…

Ví dụ về trang web không có kết nối HTTPS

Ví dụ về trang web không có kết nối HTTPS 2

Ưu điểm của HTTPS so với HTTP

  • Bảo mật và riêng tư: Lợi ích lớn nhất mà HTTPS mang lại cho trang web của bạn và người dùng chắc chắn là tính bảo mật. Nếu trang web của bạn sử dụng HTTPS, có nghĩa là mọi hoạt động nhận và gửi thông tin đều được mã hóa. Điều này là cực kỳ cần thiết với website thương mại điện tử, chứa thông tin người dùng hoặc bất kỳ dạng website nào cho phép người dùng gửi và nhận thông tin.
  • Tâm lý người dùng: Ngày nay, ngày càng nhiều người quan tâm về quyền riêng tư của mình. Và kết quả là, các công ty công nghệ lớn như Google coi HTTPS là thứ “cần phải có”. Google Chrome, giờ đây đã hiển thị cảnh báo trang web “không an toàn” nếu nó không dùng HTTPS. Thử tưởng tượng bạn là người dùng internet và thấy cảnh báo màu đỏ chói nói rằng “trang web này không an toàn” liệu bạn có đặt niềm tin của mình vào trang web đó hay không?
  • SEO: Trở lại năm 2014, Google phát đi thông báo rằng HTTPS sẽ trở thành một yếu tố trong xếp hạng trang web. Dù đây không phải một yếu tố lớn, nhưng nếu có HTTPS bạn sẽ có cơ hội được xếp hạng cao hơn. Nếu đang trong cuộc đua xếp hạng từ khóa, sẽ là vô trách nhiệm nếu trang web của bạn không có HTTPS.

Rủi ro và cách khắc phục cho trang web khi chuyển từ HTTP sang HTTPS

Tạm gác lại những ưu điểm HTTPS mang lại, sẽ có một số rủi ro khi chuyển đổi từ HTTP sang HTTPS nếu bạn không chuẩn bị trước

Lượng truy cập tạm thời giảm

Nếu bạn đang có sẵn một trang web HTTP và muốn đổi sang HTTPS, Google sẽ coi đây là di chuyển trang, đồng nghĩa mang tới hình phạt SEO. Tuy nhiên, bạn có thể giảm thiểu ảnh hưởng bằng cách thêm trang web mới chứa HTTPS vào Google Search Console và Bing Webmaster Tools. Sau khi chuyển đổi, Google chỉ định thời gian phục hồi SEO sẽ từ một vài tuần cho tới 3 tháng.

Nội dung trùng lặp (Duplicate Content)

Bởi vì chuyển đổi từ HTTP sang HTTPS làm cho trang di chuyển, bạn cần chắc chắn rằng chỉ một phiên bản của trang web (phiên bản HTTPS) đang hoạt động. Điều này có thể thực hiện bằng cách:

  • Sử dụng 301 redirects: Bất kỳ khi nào di chuyển trang, bạn cần cài đặt 301 redirect từ HTTP sang HTTPS. Chỉ cần thêm đoạn mã (*) bên dưới vào tệp .htaccess. Nếu bạn không quen với tệp .htaccess thì có thể tìm một số Plugin CMS để giúp bạn, ví dụ như cái này.
  • Cập nhật sitemap: Đảm bảo rằng XML sitemap của bạn chỉ sử dụng HTTPS URL.
  • Thay đổi tất cả internal links cũ (HTTP) để trỏ đến HTTPS URL: Nếu bạn sử dụng CMS như Drupal, nó sử dụng URL tương đối nên sẽ tự động cập nhật cho bạn. Còn nếu bạn sử dụng WordPress (URL tuyệt đối), bạn sẽ cần phải làm thủ công: Cách thứ nhất là tìm đến từng internal link và thay đổi nếu trang của bạn nhỏ và ít bài viết. Cách thứ 2 nhanh hơn là chọc vào database, sử dụng công cụ tìm và thay thế để thay đổi từ HTTP sang HTTPS.
  • Đảm bảo canonical tag trỏ đến HTTPS URL: Tất cả rel=canonical tag trong trang web của bạn cần được trỏ đến HTTPS URL. CMS với SEO plugin sẽ tự động xử lý việc này.
  • Đảm bảo rằng external links trỏ đến HTTPS URL: Nếu bạn đã thực hiện 301 Redirect từ HTTP sang HTTPS rồi thì không có gì phải lo lắng nữa.

(*)

<IfModule mod_rewrite.c>
        RewriteCond %{SERVER_PORT} !^443$
	RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Lưu ý khi sử dụng HTTPS

HTTPS chỉ hoạt động nếu trang web của bạn có chứng chỉ SSL hợp lệ và đang kích hoạt. Vì vậy, hãy để ý tới thời gian hết hạn của chứng chỉ. Nếu điều này xảy ra, trình duyệt sẽ hiển thị một cảnh báo đáng sợ cho tất cả mọi người truy cập trang web của bạn.

trình duyệt cảnh báo trang web có SSL hết hạn
Trình duyệt Chrome cảnh báo trang web có SSL hết hạn

Làm sao để sở hữu HTTPS?

Bạn sẽ cần mua, tất nhiên rồi. Thường thì các web host (kể cả web host bạn đang sử dụng) đều cung cấp chứng chỉ SSL. Thậm chí họ còn có nhiều gói bao gồm luôn cả SSL miễn phí. Ví dụ như matbao, siteground. Vì vậy hãy để ý tới mục SSL khi bạn mua host.

Tham khảo bài viết này để biết thêm thông tin và cách đăng ký SSL nhé.

Leave a Comment