Các mã trạng thái HTTP

Các mã trạng thái HTTP

|13/4/2025|꧁༺Quốc༒Hùng༻꧂

Mỗi khi bạn truy cập một trang web, phía sau màn hình là một hệ thống phức tạp đang hoạt động. Một phần quan trọng của hệ thống này là mã trạng thái HTTP. Những mã này, được giao tiếp giữa trình duyệt web của bạn và máy chủ web, cung cấp thông tin quan trọng về kết quả của yêu cầu bạn gửi đi. Hiểu về các mã trạng thái HTTP là điều cần thiết cho cả nhà phát triển web và người dùng thông thường để có thể gỡ rối lỗi, cải thiện trải nghiệm người dùng và tối ưu hóa hiệu suất ứng dụng web.

Phân Loại Mã Trạng Thái HTTP

Mã trạng thái HTTP được chia thành năm loại chính, mỗi loại đại diện cho một nhóm kết quả khác nhau. Mỗi loại được biểu thị bằng chữ số đầu tiên của mã:

1xx: Thông báo

Các mã trạng thái bắt đầu bằng 1xx được sử dụng để chỉ ra rằng máy chủ đã nhận được yêu cầu và đang xử lý nó. Đây là các mã tạm thời và không có phản hồi cuối cùng nào được trả về cho trình duyệt. Ví dụ:

  • 100 Continue: Máy chủ đã nhận được các tiêu đề yêu cầu và yêu cầu gửi tiếp dữ liệu.
  • 101 Switching Protocols: Máy chủ đã chấp nhận chuyển đổi giao thức như được yêu cầu bởi yêu cầu.

2xx: Thành công

Các mã trạng thái bắt đầu bằng 2xx cho biết yêu cầu đã được máy chủ xử lý thành công. Đây là nhóm mã mong muốn nhất. Ví dụ:

  • 200 OK: Yêu cầu đã được xử lý thành công.
  • 201 Created: Yêu cầu đã được xử lý thành công và một nguồn lực mới đã được tạo ra.
  • 204 No Content: Yêu cầu đã được xử lý thành công, nhưng không có nội dung nào được trả về trong thân phản hồi.
  • 206 Partial Content: Yêu cầu chỉ trả về một phần nội dung, thường được sử dụng trong việc tải xuống các tệp lớn.

3xx: Chuyển hướng

Các mã trạng thái bắt đầu bằng 3xx chỉ ra rằng trình duyệt cần thực hiện một hành động bổ sung để hoàn thành yêu cầu. Đây thường là chuyển hướng đến một URL khác. Ví dụ:

  • 301 Moved Permanently: Nguồn lực đã được di chuyển vĩnh viễn đến một URL mới.
  • 302 Found: Nguồn lực đã được tìm thấy tạm thời tại một URL khác.
  • 304 Not Modified: Nguồn lực không được thay đổi kể từ lần truy cập cuối cùng, vì vậy trình duyệt có thể sử dụng phiên bản đã được lưu trữ trong bộ nhớ cache.
  • 307 Temporary Redirect: Nguồn lực tạm thời được tìm thấy ở một URL khác. Khác với 302, phương thức HTTP được giữ nguyên.
  • 308 Permanent Redirect: Giống như 301 nhưng phương thức HTTP được giữ nguyên.

4xx: Lỗi phía Client

Các mã trạng thái bắt đầu bằng 4xx cho biết rằng lỗi xảy ra là do yêu cầu của client (thường là trình duyệt). Ví dụ:

  • 400 Bad Request: Yêu cầu không hợp lệ.
  • 401 Unauthorized: Yêu cầu yêu cầu xác thực (ví dụ: đăng nhập).
  • 403 Forbidden: Client không có quyền truy cập nguồn lực.
  • 404 Not Found: Nguồn lực không được tìm thấy trên máy chủ.
  • 405 Method Not Allowed: Phương thức HTTP được sử dụng không được phép cho nguồn lực.
  • 408 Request Timeout: Yêu cầu đã hết thời gian.
  • 413 Payload Too Large: Dữ liệu gửi đi quá lớn.
  • 429 Too Many Requests: Quá nhiều yêu cầu đã được gửi đi trong một khoảng thời gian ngắn.

5xx: Lỗi phía Server

Các mã trạng thái bắt đầu bằng 5xx cho biết rằng lỗi xảy ra là do máy chủ. Ví dụ:

  • 500 Internal Server Error: Lỗi nội bộ xảy ra trên máy chủ.
  • 502 Bad Gateway: Máy chủ hoạt động như một gateway hoặc proxy đã nhận được phản hồi không hợp lệ từ máy chủ phía trên.
  • 503 Service Unavailable: Máy chủ tạm thời không khả dụng.
  • 504 Gateway Timeout: Máy chủ hoạt động như một gateway hoặc proxy đã không nhận được kịp thời phản hồi từ máy chủ phía trên.

Ví dụ Mã Trạng Thái trong Code

Dưới đây là một ví dụ về cách mã trạng thái HTTP được sử dụng trong một phản hồi HTTP đơn giản.

HTTP/1.1 200 OK
Content-Type: text/html



Hello, world!

Trong ví dụ này, mã trạng thái là 200 OK, cho biết yêu cầu đã được xử lý thành công. Phần thân của phản hồi chứa mã HTML hiển thị văn bản “Hello, world!”.

Sử dụng Mã Trạng Thái trong Phát Triển Web

Hiểu và sử dụng đúng mã trạng thái HTTP là rất quan trọng trong việc phát triển web. Việc trả về mã trạng thái chính xác giúp trình duyệt và các ứng dụng khác hiểu được kết quả của yêu cầu và phản hồi một cách chính xác. Điều này dẫn đến:

  • Cải thiện trải nghiệm người dùng: Khi trang web trả về mã trạng thái đúng, trình duyệt có thể xử lý phản hồi một cách hiệu quả, dẫn đến việc tải trang nhanh hơn và ít lỗi hơn.
  • Gỡ lỗi dễ dàng hơn: Mã trạng thái cung cấp thông tin chi tiết về lý do tại sao một yêu cầu lại thất bại, giúp cho việc gỡ lỗi trở nên dễ dàng hơn.
  • Tối ưu hóa hiệu suất: Việc sử dụng mã trạng thái 304 Not Modified cho phép trình duyệt sử dụng các tệp đã được lưu trữ trong bộ nhớ cache, giảm tải cho máy chủ và tăng tốc độ tải trang.
  • SEO tốt hơn: Sử dụng mã trạng thái 301 Moved Permanently đúng cách giúp chuyển hướng lưu lượng truy cập hiệu quả, tránh mất thứ hạng tìm kiếm.

Kết Luận

Mã trạng thái HTTP là một phần quan trọng của giao tiếp giữa trình duyệt và máy chủ web. Hiểu về các loại mã trạng thái và ý nghĩa của chúng là điều cần thiết cho bất kỳ nhà phát triển web nào. Việc sử dụng đúng mã trạng thái giúp đảm bảo rằng ứng dụng web hoạt động hiệu quả, cung cấp trải nghiệm người dùng tốt và dễ dàng gỡ rối các vấn đề.

Việc học hỏi và làm chủ các mã trạng thái HTTP sẽ giúp bạn trở thành một nhà phát triển web tốt hơn và hiểu rõ hơn về cách thức hoạt động của Internet.

Chia sẻ:

Tin liên quan khác

Tăng Số Luồng Xử Lý PHP: Toàn Tập Tối Ưu Hiệu Năng Server
Lập Trình
5/10/2025
꧁༺Quốc༒Hùng༻꧂

Tăng Số Luồng Xử Lý PHP: Toàn Tập Tối Ưu Hiệu Năng Server

Trong ngữ cảnh phổ biến nhất hiện nay với PHP-FPM (FastCGI Process Manager), “luồng xử lý” thực chất là các tiến trình con (child processes) hay còn gọi là worker processes

Tạo Index trong SQL: Review Chi Tiết và Ví Dụ Thực Tế
Lập Trình
17/8/2025
꧁༺Quốc༒Hùng༻꧂

Tạo Index trong SQL: Review Chi Tiết và Ví Dụ Thực Tế

Index là gì, các loại phổ biến, ưu nhược điểm thực tế, so sánh khi nào nên dùng loại nào

7+ CLI Đọc & Phân Tích Ổ Cứng Linux Hiệu Quả Cho Sysadmin
DevOps
17/8/2025
꧁༺Quốc༒Hùng༻꧂

7+ CLI Đọc & Phân Tích Ổ Cứng Linux Hiệu Quả Cho Sysadmin

(CLI) không chỉ là một công cụ mà còn là một nghệ thuật. Đối với việc quản lý và chẩn đoán ổ cứng, CLI tỏ ra vượt trội hơn hẳn các công cụ đồ họa

Index trong SQL: Bí kíp tăng tốc truy vấn dữ liệu hiệu quả
Lập Trình
16/8/2025
꧁༺Quốc༒Hùng༻꧂

Index trong SQL: Bí kíp tăng tốc truy vấn dữ liệu hiệu quả

Hãy tưởng tượng Index trong sql giống hệt như mục lục ở cuối một cuốn sách dày

Chuyển Hướng Website: Bí Quyết SEO & Trải Nghiệm Người Dùng Hoàn Hảo
SEO
30/5/2025
꧁༺Quốc༒Hùng༻꧂

Chuyển Hướng Website: Bí Quyết SEO & Trải Nghiệm Người Dùng Hoàn Hảo

Một trong những kỹ thuật quan trọng nhất để đảm bảo sự ổn định, cải thiện SEO và mang lại trải nghiệm người dùng tốt nhất chính là chuyển hướng website (redirect)

Sitemap Website: Bí Mật SEO Hiệu Quả
Lập Trình
30/5/2025
꧁༺Quốc༒Hùng༻꧂

Sitemap Website: Bí Mật SEO Hiệu Quả

Sitemap Website (hay bản đồ trang web) là một tệp văn bản chứa danh sách tất cả các trang quan trọng trên website của bạn

Tối ưu hình ảnh WordPress qua file server
Tối ưu
28/5/2025
꧁༺Quốc༒Hùng༻꧂

Tối ưu hình ảnh WordPress qua file server

Tối ưu hình ảnh WordPress bao gồm các kỹ thuật như nén ảnh, thay đổi kích thước, chọn định dạng phù hợp (JPEG, PNG, WebP) và sử dụng lazy loading. Việc này giúp giảm thời gian tải trang, tăng điểm số PageSpeed Insights, cải thiện thứ hạng trên Google và mang lại trải nghiệm tốt hơn cho khách truy cập.

Cách Cấu Hình và Cài Đặt Cơ Bản Khi Clone Source Laravel Từ GitHub
Laravel
25/5/2025
꧁༺Quốc༒Hùng༻꧂

Cách Cấu Hình và Cài Đặt Cơ Bản Khi Clone Source Laravel Từ GitHub

Việc clone source code từ GitHub là bước đầu tiên để bắt đầu một dự án Laravel mới hoặc đóng góp vào một dự án hiện có