#

HTTP Status Codes là gì? Danh sách mã phổ biến nhất hiện nay

HTTP Status Codes hay mã trạng thái HTTP đã không còn quá xa lạ đối với người sử dụng mạng. Tuy nhiên vẫn có người thật sự chưa hiểu sâu thật sự về khái niệm này. Những vấn đề thường được đặt ra ở đây là:

  • Mã trạng thái HTTP là gì?
  • Ý nghĩa các mã trạng thái như thế nào?

Hãy cùng theo dõi bài viết dưới đây để biết chi tiết hơn cũng như danh sách các mã và ý nghĩa của chúng.

HTTP Status Codes là gì?

HTTP Status Code la gi

Dịch vụ cho thuê chỗ đặt máy chủ (Colocation)

BKHOST cung cấp dịch vụ cho thuê chỗ đặt server (Colocation) đạt tiêu chuẩn Tier 3 quốc tế:

  • Kết nối ổn định.
  • Hệ thống điện dự phòng sẵn sàng.
  • Hệ thống làm mát 24/24.
  • Hệ thống an toàn cháy nổ.

Cam kết giá tốt nhất thị trường. Đăng ký ngay hôm nay:

cho thuê chỗ đặt máy chủ

HTTP Status Codes hay mã trạng thái HTTP là do máy chủ lưu trữ trang web tạo ra khi phản hồi yêu cầu của ứng dụng, chẳng hạn như trình duyệt hoặc trình thu thập dữ liệu. Mỗi mã trạng thái HTTP có một ý nghĩa riêng, nhưng thông thường, kết quả của yêu cầu sẽ giống nhau.

Mỗi khi trình duyệt có sự tương tác với máy chủ mạng, mã thông báo này được trả về ngay cả khi người dùng không nhìn thấy chúng. HTTP Status Codes cực kì quan trọng đối với nhà phát triển web. Nó là một công cụ vô giá để phát hiện và sửa các lỗi về cấu hình của trang web.

Khi người dùng nhấp chuột vào một liên kết bất kì hoặc các URL và nhấn Enter, trình duyệt sẽ gửi một request tới máy chủ web cho trang mà bạn đang truy cập đến. Khi đó, máy chủ nhận và xử lý các request, sau khi xử lý xong sẽ gửi lại cùng tiêu đề mã HTTP.

HTTP Status Codes được trả về khi trình duyệt request một trang web nhưng hầu hết đều không được nhìn thấy.

Nếu có vấn đề xảy ra, người dùng mới có cơ hội nhìn thấy các mã trạng thái này trên màn hình trình duyệt. Ngay lúc này, bạn sẽ nhận được một thông báo hiển thị: “Có điều gì đó không ổn. Đây là mã thể hiện sự cố đã xảy ra” trên chính trình duyệt.

Các lớp HTTP Status Codes

Các chuyên gia chia HTTP Status Codes thành “5 lớp” dựa trên phân loại về ý nghĩa hoặc có sự liên quan đến nhau. Khi biết chính xác chúng là gì, người dùng có thể nhanh chóng xác định được nguyên nhân và ý nghĩa cụ thể của chúng.

Lớp trạng thái – HTTP Status Codes gồm những loại chính sau đây:

  • 1xx: Information responses / Phản hồi thông tin-Mã thông tin thể hiện request do trình duyệt đang tiếp tục xử lý.
  • 2xx: Successful responses / Phản hồi thành công-Đây là lớp trạng thái thành công. Trình duyệt gửi các request và máy chủ sẽ đảm nhận nhiệm vụ xử lý.
  • 3xx: Redirects / Điều hướng-Đây là mã chuyển hướng. Nó được trả về khi tài nguyên mới được chọn để thế chỗ cho tài nguyên đã được request.
  • 4xx: Client errors / Lỗi phía client-Đây là mã thể hiện rằng đang có vấn đề xảy ra từ phía máy khách.
  • 5xx: Server errors / Lỗi phía máy chủ-Request đã được chấp nhận nhưng có một lỗi trên máy chủ nên không thể thực hiện request.

Trong từng lớp có thể tồn tại nhiều loại mã. Mỗi mã lại khác nhau và có một ý nghĩa riêng biệt. Hãy cùng chúng tôi tìm hiểu kỹ hơn về các loại HTTP Status Codes này nhé.

Liệt kê toàn bộ các HTTP Status Codes

Hiện nay có rất nhiều mã trạng thái HTTP khác nhau. Nhưng có khoảng 10 mã dưới đây được dùng phổ biến nhất. Phần này chúng tôi sẽ đề cập đến các mã phổ biến và một số mã khó hiểu mà bạn có thể gặp phải.

1.Information responses / Phản hồi thông tin

Mã trạng thái 100 thể hiện rằng request của bạn đã được máy chủ thực thi và máy chủ đang xử lý vì một số lí do khác. Đây không phải là vấn đề, nó chỉ thể hiện bổ sung thông tin điều gì đang xảy ra.

  • 100: Continue. Khi trình duyệt gửi các request đến máy chủ. Máy chủ sẽ nhận các tiêu đề đồng thời gửi đi nội dung request. Nó giúp quá trình request diễn ra nhanh chóng hơn.
  • 101: Switching protocols. Cần phải chuyển đổi sang các giao thức khác. Và máy chủ đồng ý thực hiện nó.
  • 103: Early hints. Đây có nghĩa là những gợi ý đầu tiên. Mã này trả về các tiêu đề phản hồi trước khi toàn bộ phản hồi của máy chủ sẵn sàng.

2. Successful responses / Phản hồi thành công:

Đây là mã trạng thái HTTP tốt nhất, phản hồi ở mã 200 có nghĩa là tất cả đều đang hoạt động chính xác bình thường:

  • 200: Everything is OK. Khi website hoạt động theo đúng kế hoạch thì mã 200 được trả về. Khi mã này xuất hiện đồng thì chắc hẳn việc mọi thứ đang hoạt động ổn định.
  • 201: Created. Mã này xuất hiện có nghĩa rằng một tài nguyên mới sẽ được tạo ra.
  • 202: Accepted. Máy chủ đồng ý request từ tuy nhiên nó vẫn trong quá trình xử lý.
  • 203: Non-Authoritative Information. HTTP Status Codes 203 có thể xuất hiện khi sử dụng máy chủ proxy. Điều này có nghĩa là máy chủ proxy thấy mã 200 từ máy chủ ban đầu. Nhưng trước khi di chuyển đến trình duyệt, phản hồi sẽ được sửa đổi.
  • 204: No Content. Dù đã xử lý thành công request nhưng không có nội dung nào được trả về trình duyệt.
  • 205: Reset Content. Giống như mã 204, server xử lý tất cả request và nội dung không được trả về. Tuy nhiên, mã 205 request trình duyệt của bạn đặt lại chế độ xem tài liệu.
  • 206: Partial Content. Khi trang web đang dùng “range headers” bạn sẽ bắt gặp mã 206. Việc tải xuống sẽ chia thành nhiều luồng và những file đang trong trạng thái tạm dừng sẽ được tiếp tục.

3. Redirects / Điều hướng:

Khi HTTP Status Codes trả về 300s, quá trình chuyển hướng được thông báo rằng một tài nguyên đã được chuyển tới một vị trí mới. Có một số mã trạng thái đi kèm chuyển hướng để cung cấp thông tin truy cập về nơi tìm thấy nội dung người dùng tìm kiếm.

  • 300: Multiple Choices. Trên một server có nhiều tài nguyên trả lời để đáp ứng các mong muốn từ trang web. Và trình duyệt cần chọn một trong số các tài nguyên đó. Nó có thể xảy ra khi có nhiều loại tệp hoặc máy chủ đang gặp sự cố về định nghĩa từ.
  • 301: The requested resource has been moved permanently. Thông báo này được hiểu rằng tài nguyên được request đã xóa và không bao giờ xuất hiện lại. Khi một tài nguyên bị thay thế vĩnh viễn bằng tài nguyên khác, mã 301 được trả về.
  • 302:The requested resource has moved, but was found. Khác với mã 301 thì những thứ bị xóa sẽ tìm lại được. Mã này thể hiện rằng tài nguyên request đã tìm thấy nhưng vị trí lại không chính xác. Lúc này, nó có nhiệm vụ là chuyển hướng tạm thời.
  • 303: See Other. Mã 303 request bạn phải phân biệt sự khác nhau giữa các phương thức request HTTP. Về cơ bản, 303 cho trình duyệt thông tin rằng đã tìm thấy tài nguyên thông qua phương thức POST, PUT hoặc DELETE. Nếu bạn muốn truy xuất nó bằng GET, bạn cần đưa ra request phù hợp tới một URL khác cùng với URL đã được sử dụng trước đó.
  • 304: The requested resource has not been modified since the last time you accessed it. Mã này được hiểu là kể từ lần cuối cùng truy cập, tài nguyên vẫn không được sửa đổi. Mã 304 cho trình duyệt biết rằng các tài nguyên lưu trữ trong bộ nhớ cache không hề thay đổi. Nó chỉ được sử dụng nhằm mục đích tăng tốc độ của trang web bằng cách tái sử dụng các tài nguyên đã được tải xuống trước đó.
  • 307: Temporary Redirect. HTTP Status Codes này thay thế mã 302 khi tài nguyên được điều chuyển đến một URL khác trong thời gian ngắn hạn. Tuy nhiên, mã này không cho phép thay đổi phương thức của HTTP.
  • 308: Permanent Redirect. Đây là mã kế tiếp của mã 301. Nó sẽ bị chuyển đi vĩnh viễn. Mã 308 không cho phép thay đổi phương thức của HTTP. Đồng thời, chỉ ra các tài nguyên được request đã được đặt mãi mãi tại một URL mới.

4. Client errors / Lỗi phía client:

HTTP Status Codes cấp độ 400 bắt đầu trở nên có vấn đề. Đây là mã lỗi xác định rằng đang có lỗi với trình duyệt hoặc request của bạn.

  • 400: Bad Request. Do lỗi ở phía máy khách vì thế máy chủ không có khả năng đưa ra ý kiến phản hồi.
  • 401: Unauthorized Required hoặc Authorization Required. Đây là mã đại diện cho việc request có được ủy quyền hay không. Khi tài nguyên đích thiếu thông tin xác thực hợp lệ, server sẽ gửi lại mã này. Nếu bạn thiết lập xác thực HTTP cơ bản sử dụng htpasswd, bạn có thể nhận được mã trạng thái này.
  • 402: Payment Required. Mã này tạo ra để sử dụng như một phần trên hệ thống kỹ thuật số. Tuy nhiên, nó thường được sử dụng trên nhiều nền tảng. Nó có nhiệm vụ thông báo một request không thể thực hiện với lý do thiếu số tiền cần thiết.
  • 403: Access to that resource is forbidden. Điều này có nghĩa tài nguyên mà bạn đang tìm kiếm được cho phép. Khi người dùng cố truy cập vào nội dung nào đó mà họ không có quyền xem mã này được trả về.
  • 404: The requested resource was not found. Đây được coi là HTTP Status Codes thông báo lỗi hay gặp nhất trên mạng Internet. Nó thông báo rằng tài nguyên được request không tồn tại. Và máy chủ không xác định được nó có đang diễn ra hay không.
  • 405: Method not allowed. Mã này được trả về khi server lưu trữ tham gia vào giải pháp nhận được. Nhưng nó không thể tìm thấy tài nguyên đích.
  • 406: Not acceptable response. Khi nhận được mã lỗi này có nghĩa là tài nguyên có thể tạo ra các nội dung khác nhau. Và những nội dung này không được đồng ý theo tiêu đề được gửi đi.
  • 407: Proxy Authentication Required. Trước khi thực hiện các bước xử lý tiếp theo, trình duyệt cần tự xác thực thông tin. Đây là request từ máy chủ proxy.
  • 408: The server timed out waiting for the rest of the request from the browser. Nếu máy chủ không còn thời gian chờ trong khi request được gửi đi hoàn chỉnh. Thì HTTP Status Codes 408 sẽ được trả về. Có thể hiểu server đã không nhận được toàn bộ request gửi từ trình duyệt. Vấn đề đường truyền mạng không lưu thông là một trong những nguyên nhân gây ra tình trạng trên.
  • 409: Conflict. Mã này có nghĩa là đang xảy ra xung đột và máy chủ không thể xác định được request từ trình duyệt. Do chúng có mâu thuẫn với tài nguyên nào đó.
  • 410: The requested resource is gone and won’t be coming back. Giống như mã 404 nhưng HTTP Status Codes 410 bổ sung thêm thông tin rằng điều này sẽ xảy ra mãi mãi.
  • 411: Length Required. Tài nguyên từ máy khách chỉ cho phép độ dài nhất định.
  • 412: Precondition Failed. Điều kiện tiên quyết trong tiêu đề của request bị lỗi không đáp ứng được các thông số kỹ thuật.
  • 413: Payload Too Large hoặc Request Entity Too Large. Nó được hiểu rằng request được gửi đi lớn hơn mức có thể xử lý của máy chủ. Vì thế nó vượt quá tải trọng cho phép.
  • 414: URI Too Long. Kết quả trả về của phương thức GET quá lớn nên máy chủ không thể xử lý.
  • 415: Unsupported Media Type. Loại phương tiện hoặc tài nguyên request không được hỗ trợ.

5. Server errors / Lỗi phía máy chủ:

Khi mã trạng thái HTTP trả về lỗi 500 có nghĩa là đang có vấn đề xảy ra. Và vấn đề này xuất phát từ phía máy chủ.

  • 500: There was an error on the server and the request could not be completed. Mã này được coi là lỗi nội bộ từ phía máy chủ nội. Từ đó, xảy ra sự cố khiến tài nguyên được request không thể gửi. Mã 500 thường được gây ra bởi các plugin của bên thứ ba.
  • 501: Not Implemented. Các chức năng cơ bản cơ bản không được hỗ trợ bởi máy chủ khi thực thi request.
  • 502: Bad Gateway. Mã này trả về có nghĩa là một máy chủ đã nhận được ý kiến không chính xác từ máy chủ khác. Khi một request hoặc truy vấn chiếm lượng thời gian quá lớn. Server sẽ thực hiện thao tác ngắt kết nối với cơ sở dữ liệu.
  • 503: The service is unavailable to handle this request right now. request không thể hoàn thành, máy chủ quá tải không thể xử lý được các request.
  • 504: The server, acting as a gateway, timed out waiting for another server to respond. Khi có hai máy chủ đồng thời thực hiện các request thì mã 504 sẽ được trả về. Quá trình này xảy xa khi máy chủ thứ nhất đã hết thời gian và đang chờ máy chủ thứ hai xử lý.
  • 505: HTTP Version Not Supported. Máy chủ không thể thực hiện request do không hỗ trợ phiên bản HTTP.
  • 508: Resource Limit Is Reached. Điều này đồng nghĩa với việc trình duyệt đã chạm vào mốc giới hạn của các tài nguyên.
  • 509: Bandwidth Limit Exceeded. Mã 509 xuất hiện khi trang web đang sử dụng băng thông vượt quá ngưỡng cho phép.
  • 511: Network Authentication Required. Để các request được gửi tới máy chủ bạn cần thực hiện một số bước xác thực khi truy cập mạng.
  • 521: Web server is down. HTTP Status Codes 521 được trả về tức là trình duyệt của bạn không thể kết nối tới máy chủ web.

Tìm hiểu thêm HTTP Status Codes ở đâu?

Danh sách tất cả các HTTP Status Codes rất dài và trong bài viết này chúng tôi không thể đề cập được hết. Bạn có thể tìm hiểu và tham khảo thêm các mã trạng thái khó hơn tại các nguồn sau:

  • HTTP Status Codes từ Wikipedia: link.
  • Định nghĩa HTTP Status Codes từ đặc nhiệm kỹ thuật Internet (IETF): link.

Tổng kết về HTTP Status Codes

Trong bài viết này chúng tôi đã giới thiệu các HTTP Status Codes phổ biến hiện nay. Những mã trạng thái này bạn có thể gặp phải từ cấp độ nhẹ đến mạnh. Hy vọng bài viết sẽ có ích cho bạn khi xử lý các sự cố gặp phải trên trang web của mình.

Nếu còn gặp bất cứ vướng mắc gì về Application Layer hoặc muốn tìm hiểu thêm về các lớp của mô hình OSI, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

Mua domain và hosting tại BKHOST

BKHOST là một trong những nhà cung cấp dịch vụ domain và hosting uy tín nhất tại Việt Nam.

Rất nhiều chương trình khuyến mãi hấp dẫn đang chờ bạn. Đăng ký ngay hôm nay:

Mua hosting và domain

Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
Bình luận

Thanh toán linh hoạt

Chúng tôi chấp nhận thanh toán như ATM, Visa, Internet Banking, Paypal, Baokim, Ngân lượng

Gọi ĐT tư vấn ngay
Chat ngay qua Zalo
Chat ngay qua Messenger