1. HTTP là gì?

HTTP là giao thức truyền tải dữ liệu trên Internet, được sử dụng để trình duyệt và máy chủ giao tiếp với nhau.

Ví dụ khi truy cập một website, trình duyệt sẽ gửi HTTP Request đến Server. Server xử lý yêu cầu rồi gửi HTTP Response trả dữ liệu về cho trình duyệt.

Hiểu đơn giản:

  • Client 
  • HTTP Request 
  • Server 
  • HTTP Response 
  • Client

Hypertext Transfer Protocol – Wikipedia tiếng Việt

2. HTTPS là gì?

HTTPS là phiên bản bảo mật của HTTP.( theo em tìm hiểu là nó sẽ bảo mật hơn HTTP)

HTTPS sử dụng SSL và TLS để mã hóa dữ liệu giữa Client và Server. Nhờ vậy, thông tin truyền đi khó bị người khác đọc hoặc thay đổi.

Hiểu đơn giản:

HTTP = truyền dữ liệu

HTTPS = truyền dữ liệu và mã hóa thêm bảo mật

What is HTTPS? - SSL.com

3. HTTP hoạt động như thế nào?

Khi người dùng truy cập một website:

1 Người dùng nhập địa chỉ website.

2 Browser gửi Request đến Server.

3 Server nhận và xử lý Request.

4 Server gửi Response về Browser.

5 Browser hiển thị nội dung cho người dùng.

Ví dụ:

Người dùng truy cập trang đăng nhập → gửi thông tin đăng nhập → Server kiểm tra → Server trả về kết quả đăng nhập.

Một HTTP Request thường có các thành phần như Method, URL, Headers và Body.

Một số HTTP Method phổ biến:

  • GET: lấy dữ liệu.
  • POST: gửi hoặc tạo dữ liệu.
  • PUT: cập nhật dữ liệu.
  • DELETE: xóa dữ liệu.
  • 4. HTTPS bảo mật như thế nào?

HTTPS sử dụng TLS để bảo vệ dữ liệu trong quá trình truyền.

HTTPS giúp đảm bảo ba yếu tố chính:

Encryption: Mã hóa dữ liệu để người khác khó đọc được.

Authentication: Xác thực Server thông qua chứng chỉ số.

Integrity: Đảm bảo dữ liệu không bị thay đổi trong quá trình truyền.

5. HTTP và HTTPS khác nhau như thế nào?

HTTP:

  • Không sử dụng TLS để mã hóa dữ liệu.
  • Mức độ bảo mật thấp hơn HTTPS.
  • Thường sử dụng port 80.
  • Dữ liệu truyền đi có nguy cơ bị nghe lén hoặc can thiệp.
  • Hiện nay không được ưu tiên đối với các website cần bảo mật.

HTTPS:

  • Sử dụng SSL/TLS để mã hóa dữ liệu.
  • Bảo mật hơn HTTP.
  • Thường sử dụng port 443.
  • Giúp hạn chế việc dữ liệu bị đọc hoặc thay đổi trong quá trình truyền.
  • Được sử dụng phổ biến trên website, hệ thống và API hiện nay.Sự khác nhau giữa http và https

6. HTTP Status Code

Một số mã phổ biến:

  • 200 OK → Request thành công.
  • 201 Created → Tạo dữ liệu thành công.
  • 400 Bad Request → Request không hợp lệ.
  • 401 Unauthorized → Chưa xác thực.
  • 403 Forbidden → Không có quyền truy cập.
  • 404 Not Found → Không tìm thấy tài nguyên.
  • 500 Internal Server Error → Lỗi phía Server.

7. Tóm gọn dễ hiểu

Có thể hiểu đơn giản:

HTTP là giao thức giúp Client và Server giao tiếp, gửi và nhận dữ liệu trên Internet.

HTTPS cũng thực hiện việc đó nhưng có thêm TLS để mã hóa và bảo vệ dữ liệu.

Dễ nhớ:

HTTP là giao tiếp

HTTPS vẫn là giao tiếp nhưng thêm bảo mật

Các thuật ngữ liên quan cần nhớ: Client, Server, Request, Response, HTTP Method, Status Code, Header, Body, SSL/TLS, Encryption, Authentication, Port 80, Port 443.

Bài viết khác

Test Automation(Kiểm thử tự động)

1.Test Automation (Kiểm thử tự động) là gì? Trong các dự án phát triển phần mềm truyền thống trước đây, toàn bộ quy trình kiểm thử (Testing) đều được thực hiện thủ công (Manual Testing) bởi con người. Các kiểm thử viên trực tiếp thao tác trên giao diện, nhập dữ liệu, kiểm tra kết […]

Logging – Monitoring – CI/CD

Logging, Monitoring và CI/CD là gì? Vai trò trong phát triển Backend 1. Tổng quan Khi xây dựng một ứng dụng Backend, viết code và chạy được chương trình mới chỉ là bước đầu. Khi ứng dụng được đưa vào sử dụng, lập trình viên còn cần biết ứng dụng đang hoạt động như thế […]

Redis & Caching là gì?

Redis & Caching là gì? Hướng dẫn sử dụng Redis trong Go 1. Caching là gì? Vì sao cần cache khi đã có database? Caching (bộ nhớ đệm) là kỹ thuật lưu tạm dữ liệu thường được truy cập để có thể lấy lại nhanh chóng khi cần, thay vì phải thực hiện lại toàn […]

Background Jobs & Queues

1. Background Jobs & Queues là gì? Trong một ứng dụng backend, không phải công việc nào cũng cần hoàn thành ngay trong lúc xử lý HTTP request. Ví dụ, khi người dùng đăng ký tài khoản, hệ thống có thể cần: Lưu thông tin người dùng vào database. Gửi email xác nhận. Gửi thông […]

Saga Pattern

Saga Pattern là gì? Quản lý Transaction trong kiến trúc Microservices 1. Saga Pattern là gì? Saga Pattern là một mẫu thiết kế được sử dụng để quản lý các nghiệp vụ phân tán gồm nhiều bước xử lý, trong đó mỗi bước có thể thực hiện một local transaction tại một service hoặc Database […]

Two-Phase Locking (2PL)

Two-Phase Locking (2PL) là gì? Cơ chế khóa hai pha trong Database 1. Two-Phase Locking (2PL) là gì? Two-Phase Locking (2PL — khóa hai pha) là một giao thức quản lý khóa trong Database, quy định cách một transaction được phép lấy và giải phóng lock trong quá trình thực thi. Khi nhiều transaction cùng […]

Leave a Reply

Your email address will not be published. Required fields are marked *