HTTP Status Code là gì? Nắm vững kiến thức về mã trạng thái để xây dựng website chuyên nghiệp
https://fptshop.com.vn/https://fptshop.com.vn/
Thùy An
1 năm trước

HTTP Status Code là gì? Nắm vững kiến thức về mã trạng thái để xây dựng website chuyên nghiệp

HTTP Status Code là chìa khóa để xây dựng và duy trì một website chuyên nghiệp. Bài viết này cung cấp cái nhìn tổng quan về các loại mã trạng thái phổ biến, từ thông tin cơ bản đến các mã lỗi phổ biến và cách chúng ảnh hưởng đến trải nghiệm người dùng. Cùng tìm hiểu chi tiết qua bài viết này nhé!

Chia sẻ:

Bạn có bao giờ thắc mắc về những con số bí ẩn như 404, 500 hay 403 xuất hiện khi truy cập website? Đó chính là HTTP Status Code - ngôn ngữ giao tiếp giữa trình duyệt và máy chủ web, đóng vai trò vô cùng quan trọng trong việc vận hành website trơn tru và mang đến trải nghiệm tuyệt vời cho người dùng. Hiểu rõ HTTP Status Code như nắm giữ chìa khóa vàng để xây dựng website chuyên nghiệp.

HTTP Status Code là gì?

HTTP Status Code là gì?

HTTP Status Code là các mã số được sử dụng để chỉ ra kết quả của một yêu cầu HTTP từ phía máy khách (client) đến máy chủ (server). Chúng được sử dụng để giúp máy khách hiểu được kết quả của yêu cầu, ví dụ như yêu cầu thành công hay thất bại và cung cấp thêm thông tin về lý do tại sao. Các mã trạng thái HTTP được chia thành 5 nhóm chính, dựa trên chữ số đầu tiên của mã:

  • 1xx: Thông tin (Informational)
  • 2xx: Thành công (Successful)
  • 3xx: Chuyển hướng (Redirection)
  • 4xx: Lỗi phía máy khách (Client Error)
  • 5xx: Lỗi phía máy chủ (Server Error)

Ví dụ, mã 200 đồng nghĩa với "OK" - yêu cầu đã được xử lý thành công. Trong khi đó, mã 404 có nghĩa là "Not Found" - tức là tài nguyên mà yêu cầu truy cập không tồn tại trên máy chủ.

Các mã trạng thái HTTP được quản lý bởi Cơ Quan Cấp Số Được Ấn Định Trên Internet (IANA) và được sử dụng rộng rãi trong các ứng dụng sử dụng giao thức HTTP.

Phân loại các mã HTTP Status Code

Phân loại các mã HTTP Status Code

Trong hệ thống HTTP, các mã trạng thái (Status Code) được chia thành 5 loại chính, phản ánh kết quả xử lý yêu cầu HTTP:

  • Mã 1xx (100 - 199) - Information responses / Phản hồi thông tin: Yêu cầu của bạn đã được tiếp nhận và đang trong quá trình xử lý.
  • Mã 2xx (200 - 299) - Successful responses / Phản hồi thành công: Máy chủ đã nhận và hoàn thành yêu cầu của bạn một cách thành công.
  • Mã 3xx (300 - 399) - Redirects / Điều hướng: Phía máy khách cần thực hiện thêm hành động để hoàn tất yêu cầu, chẳng hạn như chuyển hướng sang URL khác.
  • Mã 4xx (400 - 499) - Client errors / Lỗi phía client: Yêu cầu không hoàn tất hoặc có cú pháp không chính xác do lỗi từ phía client khi gửi yêu cầu.
  • Mã 5xx (500 - 599) - Server errors / Lỗi phía máy chủ: Máy chủ không thể hoàn thành yêu cầu hợp lệ. Khi gặp lỗi 5xx, client chỉ có thể đợi hệ thống máy chủ xử lý.

Danh sách hoàn chỉnh của các HTTP Status Code 

Danh sách hoàn chỉnh của các HTTP Status Code bao gồm: Code + mô tả ngắn về lý do

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

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

  • 100 Continue: Đây là một phản hồi tạm thời, cho biết rằng mọi thứ đang diễn ra bình thường và client có thể tiếp tục gửi yêu cầu. Nếu yêu cầu đã hoàn tất, client có thể bỏ qua phản hồi này.
  • 101 Switching Protocol: Mã này được gửi để phản hồi lại yêu cầu Upgrade từ phía client và thông báo rằng máy chủ đang chuyển đổi sang giao thức mới.
  • 102 Processing (WebDAV): Mã này thể hiện rằng máy chủ đã tiếp nhận và đang xử lý yêu cầu của bạn. Tuy nhiên, phản hồi cuối cùng vẫn chưa sẵn sàng.
  • 103 Early Hints: Mã này được sử dụng để trả về một số tiêu đề phản hồi trước khi gửi message HTTP cuối cùng.

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

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

Đây là các mã phản hồi HTTP thành công:

  • 200 OK: Yêu cầu đã được xử lý thành công. Ý nghĩa của mã này còn tùy thuộc vào phương thức HTTP:
    • GET: Nội dung tài nguyên được trả về
    • HEAD: Chỉ có các header của tài nguyên được trả về
    • PUT/POST: Tài nguyên mô tả kết quả của hành động được truyền trong nội dung phản hồi
    • TRACE: Nội dung phản hồi chứa thông báo yêu cầu khi máy chủ nhận được
  • 201 Created: Yêu cầu đã thành công và tạo ra một tài nguyên mới, thường là phản hồi cho các yêu cầu POST hoặc một số yêu cầu PUT.
  • 202 Accepted: Yêu cầu đã được tiếp nhận nhưng chưa được thực hiện. Đây là phản hồi không cam kết, vì không có cách nào trong HTTP để gửi sau đó phản hồi không đồng bộ về kết quả, thường dùng cho các trường hợp cần xử lý lâu hoặc xử lý hàng loạt.
  • 203 Non-Authoritative Information: Siêu thông tin trả về không hoàn toàn giống với thông tin gốc, mà được thu thập từ bản sao cục bộ hay bên thứ ba, thường chỉ dùng để phản chiếu hay sao lưu tài nguyên khác, thông thường nên trả về 200 OK.
  • 204 No Content: Không có nội dung để gửi, nhưng các header vẫn hữu dụng. Trình duyệt có thể cập nhật header đã lưu trong cache.
  • 205 Reset Content: Yêu cầu trình duyệt reset lại tài liệu đã gửi yêu cầu này.
  • 206 Partial Content: Trả về một phần nội dung của tài nguyên, theo yêu cầu Range của client.
  • 207 Multi-Status, 208 Already Reported: Dùng trong WebDAV để trả về thông tin về nhiều tài nguyên.
  • 226 IM Used: Máy chủ đã hoàn thành yêu cầu GET và phản hồi là kết quả của một hoặc nhiều thao tác instance được áp dụng.

Redirects / Điều hướng

Redirects / Điều hướng

  • 300 Multiple Choice: Khi có nhiều phản hồi khả dụng cho một yêu cầu, người dùng cần chọn một trong số đó. Mặc dù không có cách chuẩn hóa để chọn phản hồi, nhưng các liên kết HTML được khuyến nghị để người dùng dễ dàng lựa chọn.
  • 301 Moved Permanently: URL của tài nguyên yêu cầu đã được thay đổi vĩnh viễn. URL mới sẽ được cung cấp trong phần phản hồi.
  • 302 Found: Mã này có nghĩa là URI của tài nguyên yêu cầu đã được thay đổi tạm thời. Các thay đổi khác đối với URI có thể sẽ được thực hiện trong tương lai. Vì vậy, client nên tiếp tục sử dụng URI ban đầu cho các yêu cầu trong tương lai.
  • 303 See Other: Máy chủ gửi phản hồi này để hướng dẫn client lấy tài nguyên từ một URI khác bằng một yêu cầu GET.
  • 304 Not Modified: Mã này được sử dụng cho mục đích lưu vào bộ nhớ cache. Nó thông báo cho client rằng phản hồi không thay đổi, do đó client có thể tiếp tục sử dụng phiên bản phản hồi hiện có trong bộ nhớ cache.
  • 305 Use Proxy: Trong phiên bản trước của đặc tả HTTP, mã trạng thái này được sử dụng để chỉ ra rằng phản hồi yêu cầu phải được truy cập thông qua một proxy. Điều này xuất phát từ các lo ngại về bảo mật liên quan đến cấu hình proxy trong băng tần.
  • 306 Unused: Mã phản hồi này không còn được sử dụng nữa. Nó được bảo lưu và chỉ được sử dụng trong các phiên bản trước của đặc tả HTTP/1.1.
  • 307 Temporary Redirect: Máy chủ gửi phản hồi này để hướng dẫn client lấy tài nguyên yêu cầu từ một URI khác, sử dụng cùng phương thức đã dùng trong yêu cầu trước đó. Mã này có cùng ý nghĩa như mã phản hồi HTTP 302 Found, ngoại trừ việc user-agent không được thay đổi phương thức HTTP: nếu POST được sử dụng trong yêu cầu đầu tiên, thì POST phải được sử dụng trong yêu cầu thứ hai.
  • 308 Permanent Redirect: Mã phản hồi này thông báo rằng tài nguyên hiện được chuyển đến một URI khác, được chỉ định bởi header Location trong phản hồi HTTP. Mã này tương đương với mã phản hồi HTTP 301 Moved Permanently, trừ khi user-agent không thể thay đổi phương thức HTTP sử dụng: nếu yêu cầu ban đầu sử dụng phương thức POST, thì phương thức POST phải được sử dụng trong yêu cầu tiếp theo.

Client errors / Lỗi phía client

Client errors / Lỗi phía client

  • 400 Bad Request: Mã này cho biết máy chủ không thể hiểu yêu cầu do cú pháp của nó không hợp lệ. Điều này có thể xảy ra khi client gửi dữ liệu không đúng định dạng hoặc có cấu trúc sai.
  • 401 Unauthorized: Mã này không chỉ đơn thuần là việc client không được quyền truy cập, mà thực sự là việc client chưa được xác thực. Để nhận được phản hồi mong muốn, client cần phải tự xác thực chính mình.
  • 402 Payment Required: Mã này được dành cho các ứng dụng thanh toán trong tương lai, tuy nhiên hiện tại ít khi được sử dụng và không có quy ước tiêu chuẩn cụ thể nào.
  • 403 Forbidden: Mã này thông báo rằng client đã được xác thực, nhưng không được phép truy cập vào tài nguyên được yêu cầu. Điều này khác với mã 401 ở điểm mà danh tính của client đã được máy chủ nhận biết.
  • 404 Not Found: Mã này cho biết máy chủ không tìm thấy tài nguyên được yêu cầu.
  • 405 Method Not Allowed: Mã này cho biết phương thức yêu cầu (GET, POST, PUT, DELETE,...) đã được máy chủ nhận biết nhưng đã bị vô hiệu hóa, ví dụ như một API cấm DELETE một tài nguyên.
  • 406 Not Acceptable: Mã này được gửi khi máy chủ không thể tìm thấy nội dung phù hợp với yêu cầu của trình duyệt, sau khi đã cố gắng đàm phán nội dung với trình duyệt.
  • 407 Proxy Authentication Required: Mã này tương tự như mã 401 Unauthorized, nhưng việc xác thực được yêu cầu bởi proxy, không phải bởi máy chủ. Proxy sẽ yêu cầu client xác thực trước khi chuyển tiếp yêu cầu đến máy chủ.
  • 408 Request Timeout: Máy chủ gửi phản hồi này trên một kết nối không hoạt động, thậm chí khi không có yêu cầu nào từ trình duyệt trước đó. Điều này báo hiệu rằng máy chủ muốn đóng kết nối không sử dụng này. Phản hồi này thường được sử dụng khi trình duyệt như Chrome, Firefox 27+ hoặc IE9 sử dụng cơ chế tiền kết nối HTTP để tăng tốc độ lướt web. Đồng thời, cũng cần lưu ý rằng một số máy chủ có thể đóng kết nối mà không cần gửi thông báo này.
  • 409 Conflict: Yêu cầu xung đột với trạng thái hiện tại của máy chủ.
  • 410 Gone: Nội dung đã bị xóa vĩnh viễn và không có địa chỉ chuyển tiếp.
  • 411 Length Required: Yêu cầu không có trường Content-Length.
  • 412 Precondition Failed: Điều kiện tiên quyết trong header không được đáp ứng.
  • 413 Payload Too Large: Dữ liệu gửi lên quá lớn so với giới hạn của máy chủ.
  • 414 URI Too Long: URI yêu cầu quá dài so với khả năng của máy chủ.
  • 415 Unsupported Media Type: Định dạng nội dung không được máy chủ hỗ trợ.
  • 416 Range Not Satisfiable: Máy chủ không thể cung cấp phần tập tin được yêu cầu.
  • 417 Expectation Failed: Máy chủ không thể đáp ứng các yêu cầu trong trường Expect.

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

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

  • 500 Internal Server Error: Lỗi chung khi máy chủ gặp sự cố bất ngờ.
  • 501 Not Implemented: Máy chủ không hỗ trợ phương thức yêu cầu.
  • 502 Bad Gateway: Máy chủ proxy nhận được phản hồi không hợp lệ từ máy chủ nguồn.
  • 503 Service Unavailable: Máy chủ hiện không sẵn sàng (quá tải hoặc đang bảo trì).
  • 504 Gateway Timeout: Máy chủ proxy không nhận được phản hồi từ máy chủ nguồn.
  • 505 HTTP Version Not Supported: Máy chủ không hỗ trợ phiên bản HTTP được sử dụng.

Tạm kết

Hy vọng qua nội dung bài viết, bạn đã hiểu rõ về HTTP Status Code và tầm quan trọng của chúng trong việc xây dựng và duy trì một website chuyên nghiệp. HTTP Status Code không chỉ là những con số bí ẩn, mà chính là ngôn ngữ giao tiếp quan trọng giữa trình duyệt và máy chủ web, giúp xác định kết quả của mỗi yêu cầu HTTP và cung cấp thông tin về lý do tại sao. Chúc bạn thành công trong việc chinh phục thế giới HTTP Status Code và xây dựng website chuyên nghiệp!

Xem thêm

Nếu bạn đang muốn tìm kiếm laptop văn phòng đáng tin cậy và hiệu quả, hãy đến ngay FPT Shop. Chúng tôi mang đến cho bạn sự lựa chọn đa dạng với những sản phẩm chất lượng, giúp nâng cao hiệu suất làm việc của bạn. Đừng bỏ lỡ cơ hội này, hãy khám phá ngay!

Laptop văn phòng

Chủ đề
Thương hiệu đảm bảo

Thương hiệu đảm bảo

Nhập khẩu, bảo hành chính hãng

Đổi trả dễ dàng

Đổi trả dễ dàng

Theo chính sách đổi trả tại FPT Shop

Giao hàng tận nơi

Giao hàng tận nơi

Trên toàn quốc

Sản phẩm chất lượng

Sản phẩm chất lượng

Đảm bảo tương thích và độ bền cao