Mã trạng thái HTTP: Danh sách đầy đủ

Mã trạng thái HTTP là các số gồm ba chữ số được bao gồm trong phản hồi từ máy chủ để thông báo cho trình duyệt biết xem yêu cầu của nó đã được hoàn thành thành công hay chưa. Bên cạnh số gồm ba chữ số, thường có một mô tả về trạng thái đi kèm. Các đặc tả và chức năng của chúng được định nghĩa bởi Tổ chức World Wide Web (W3C).

Có năm phạm vi chính cho các mã:

  • 1xx – Thông tin
  • 2xx – Yêu cầu thành công
  • 3xx – Chuyển hướng
  • 4xx – Lỗi từ phía máy khách
  • 5xx – Lỗi từ phía máy chủ

Bạn có thể thấy một số mã cao hơn. Tất cả đều là không chính thức:

  • 6xx+ – Không chính thức

Tiếp tục đọc để tìm hiểu ý nghĩa của mã trạng thái và cách Google xử lý chúng.

1xx – Cung cấp một số thông tin bổ sung

Các mã trạng thái 1xx cho biết máy chủ đã nhận yêu cầu và quá trình xử lý sẽ tiếp tục.

100 Tiếp tục – Mọi thứ hiện tại đều ổn. Tiếp tục.

101 Chuyển Giao Giao Thức – Có một thông điệp, chẳng hạn như một yêu cầu nâng cấp, đang thay đổi từ một giao thức khác.

102 Đang Xử Lý – Có những việc đang diễn ra nhưng chưa hoàn thành.

103 Gợi ý Sớm – Cho phép bạn tải trước tài nguyên, điều này có thể giúp cải thiện Largest Contentful Paint cho Core Web Vitals.

2xx – Cho thấy yêu cầu đã thành công

Các mã trạng thái 2xx có nghĩa là yêu cầu từ máy khách đã được nhận, hiểu và chấp nhận.

200 OK – Tất cả đều tốt. Mọi thứ thành công.

201 Đã Tạo – Tương tự như 200, nhưng chỉ số thành công là đã tạo một tài nguyên mới.

202 Đã Chấp Nhận – Yêu cầu đã được chấp nhận để xử lý, nhưng chưa hoàn thành. Có thể thậm chí chưa bắt đầu.

203 Thông tin phi chính thức – Điều gì đó đã thay đổi sau khi được gửi từ máy chủ đến bạn.

204 Không Có Nội Dung – Yêu cầu đã được gửi, nhưng không có nội dung trong phần thân.

205 Thiết Lập Lại Nội Dung – Thiết lập lại tài liệu về trạng thái ban đầu, ví dụ: làm sạch một biểu mẫu.

206 Một Phần Nội Dung – Chỉ có một phần nội dung đã được gửi đi.

207 Đa Trạng Thái – Có nhiều mã phản hồi khác có thể là 2xx, 3xx, 4xx hoặc 5xx.

208 Đã Báo Cáo Trước Đó – Máy khách thông báo với máy chủ về việc có đề cập đến cùng một tài nguyên trước đó.

218 Mọi thứ tốt đẹp – Sử dụng không chính thức bởi Apache.

226 Đã Sử Dụng IM – Điều này cho phép máy chủ gửi các thay đổi (diffs) của tài nguyên đến khách hàng.

Cách Google xử lý các mã 2xx

Hầu hết các mã 2xx sẽ cho phép trang web được lập chỉ mục. Tuy nhiên, 204 sẽ được coi như là soft 404 và sẽ không được lập chỉ mục.

Các soft 404 cũng có thể là các URL mà máy chủ cho biết nó thành công (200), nhưng nội dung của trang lại cho biết nó không tồn tại. Mã này nên là 404, nhưng máy chủ nói mọi thứ đều ổn khi thực tế không phải vậy. Điều này cũng có thể xảy ra trên các trang với ít hoặc không có nội dung.

Bạn có thể tìm thấy các lỗi soft 404 này trong báo cáo Coverage trong Google Search Console.

3xxs – Liên quan đến chuyển hướng chủ yếu nhưng cũng có vài ngoại lệ

Các mã trạng thái 3xx chỉ ra rằng người dùng cần làm một số việc trước khi yêu cầu có thể thành công.

300 Multiple Choices – Có hơn một phản hồi có thể và bạn có thể phải chọn một trong số chúng.

301 Moved Permanently – Tài nguyên cũ bây giờ được chuyển hướng đến tài nguyên mới.

302 Found – Tài nguyên cũ bây giờ được chuyển hướng đến tài nguyên mới tạm thời.

302 Moved Temporarily – Tài nguyên cũ bây giờ được chuyển hướng đến tài nguyên mới tạm thời.

303 See Other – Đây là một lệnh chuyển hướng khác chỉ ra rằng tài nguyên có thể được tìm thấy ở nơi khác.

304 Not Modified – Cho biết trang không được chỉnh sửa. Thông thường được sử dụng để tạo bộ nhớ cache.

305 Use Proxy – Tài nguyên được yêu cầu chỉ khả dụng nếu bạn sử dụng proxy.

306 Switch Proxy – Các yêu cầu tiếp theo của bạn nên sử dụng proxy được chỉ định. Mã này không còn được sử dụng nữa.

307 Temporary Redirect – Có chức năng tương tự như chuyển hướng 302, ngoại trừ bạn không thể chuyển đổi giữa POST và GET.

307 HSTS Policy – Bắt buộc người dùng sử dụng HTTPS thay vì HTTP khi thực hiện các yêu cầu.

308 Permanent Redirect – Có chức năng tương tự như chuyển hướng 301, ngoại trừ bạn không thể chuyển đổi giữa POST và GET.

Google xử lý các mã 3xx như thế nào

301 và 302 là các tín hiệu hợp nhất. Chúng truyền PageRank và giúp xác định URL nào được hiển thị trong chỉ mục của Google. Một 301 hợp nhất chuyển tiếp tới URL mới và một 302 hợp nhất chuyển tiếp ngược lại đến URL cũ. Nếu một 302 được giữ lại trong thời gian đủ lâu hoặc nếu URL mà nó được chuyển hướng đã tồn tại, 302 có thể được coi như 301 và hợp nhất tiến về phía trước.

302 cũng có thể được sử dụng để chuyển hướng người dùng đến trang chủ theo ngôn ngữ hoặc quốc gia/ngôn ngữ cụ thể, nhưng không nên sử dụng cùng logic đối với các trang sâu hơn.

303 có xử lý không xác định từ Google. Chúng có thể được xem như 301 hoặc 302, tùy thuộc vào cách chúng hoạt động.

Một 307 có hai trường hợp khác nhau. Trong những trường hợp nơi nó là một chuyển hướng tạm thời, nó sẽ được xử lý giống như một chuyển hướng 302 và cố gắng hợp nhất ngược lại. Khi các máy chủ web yêu cầu người dùng chỉ sử dụng kết nối HTTPS (chính sách HSTS), Google sẽ không thấy 307 vì nó được lưu trữ trong bộ nhớ cache của trình duyệt. Lần ra đầu (không có bộ nhớ cache) sẽ có một mã trạng thái phản hồi của máy chủ mà có thể là 301 hoặc 302. Nhưng trình duyệt của bạn sẽ hiển thị cho bạn một 307 cho các yêu cầu tiếp theo.

308 được xử lý giống như 301 và hợp nhất tiến về phía trước.

Google sẽ theo dõi đến 10 bước trong chuỗi chuyển hướng. Thông thường, nó theo dõi năm bước trong một phiên và tiếp tục từ nơi nó dừng ở phiên tiếp theo. Sau đó, các tín hiệu có thể không hợp nhất vào các trang được chuyển hướng.

4xxs – Lỗi trên phía khách hàng

Mã trạng thái 4xx đồng nghĩa với việc phía khách hàng gặp phải lỗi. Thông thường, lỗi này được giải thích trong phản hồi.

400 Bad Request – Điều gì đó không đúng với yêu cầu của khách hàng. Yêu cầu có thể đã bị hỏng, không hợp lệ hoặc quá lớn. Và hiện tại, máy chủ không thể hiểu yêu cầu.

401 Unauthorized – Khách hàng chưa xác định hoặc xác minh danh tính khi yêu cầu.

402 Payment Required – Không có sử dụng chính thức, và được dành cho tương lai để sử dụng với một loại hệ thống thanh toán số. Một số nhà bán lẻ sử dụng nó cho các lý do riêng của họ, ví dụ như Shopify sử dụng nó khi một cửa hàng chưa thanh toán phí, và Stripe sử dụng nó cho các thanh toán có khả năng gian lận.

403 Forbidden – Khách hàng đã được xác định nhưng không có quyền truy cập.

404 Not Found – Tài nguyên được yêu cầu không được tìm thấy.

405 Method Not Allowed – Phương thức yêu cầu không được hỗ trợ, ví dụ như một mẫu cần sử dụng POST nhưng lại sử dụng GET.

406 Not Acceptable – Máy chủ không thể đáp ứng đúng phần header được yêu cầu.

407 Proxy Authentication Required – Xác thực phải được thực hiện qua proxy.

408 Request Timeout – Máy chủ đã đạt thời gian chờ tối đa hoặc quyết định đóng kết nối.

409 Conflict – Yêu cầu xung đột với trạng thái của máy chủ.

410 Gone – Tương tự như mã 404 khi yêu cầu không được tìm thấy, nhưng cũng nói rằng tài nguyên sẽ không còn khả dụng nữa.

411 Length Required – Yêu cầu không chứa trường độ dài nội dung khi yêu cầu yêu cầu trường này.

412 Precondition Failed – Khách hàng đưa ra một điều kiện trong yêu cầu mà máy chủ không đáp ứng được.

413 Payload Too Large – Yêu cầu lớn hơn giới hạn cho phép của máy chủ.

414 URI Too Long – URI được yêu cầu dài hơn giới hạn cho phép của máy chủ.

415 Unsupported Media Type – Định dạng yêu cầu không được máy chủ hỗ trợ.

416 Range Not Satisfiable – Khách hàng yêu cầu một phần của tệp không thể được máy chủ cung cấp, ví dụ như yêu cầu một phần của tệp vượt quá phần mà tệp thực sự kết thúc.

417 Expectation Failed – Kỳ vọng được chỉ định trong tiêu đề yêu cầu “Expect” không thể được đáp ứng bởi máy chủ.

418 I’m a Teapot – Xảy ra khi bạn cố gắng pha cà phê trong một ấm đun nước. Điều này bắt nguồn từ trò đùa ngày cá tháng tư năm 1998 nhưng thực tế đã được chuẩn hóa. Với tất cả mọi thứ ngày nay đều là thiết bị thông minh, điều này có thể được sử dụng trong tương lai.

419 Page Expired – Sử dụng không chính thức bởi Laravel Framework.

Lỗi 420 Phương thức thất bại – Sử dụng không chính thức bởi Spring Framework.

Lỗi 420 Cải thiện tâm trạng của bạn – Sử dụng không chính thức bởi Twitter.

Lỗi 421 Yêu cầu sai hướng – Máy chủ mà yêu cầu được gửi đến không thể phản hồi yêu cầu này.

Lỗi 422 Không thể xử lý yêu cầu – Có lỗi ngữ nghĩa trong yêu cầu.

Lỗi 423 Bị khóa – Tài nguyên được yêu cầu đã bị khóa.

Lỗi 424 Yêu cầu phụ thuộc thất bại – Sự thất bại này xảy ra vì yêu cầu này cần yêu cầu khác cũng thất bại.

Lỗi 425 Quá sớm – Máy chủ không mong muốn xử lý yêu cầu tại thời điểm này vì dự đoán yêu cầu sẽ được gửi lại sau.

Lỗi 426 Cần nâng cấp – Máy chủ từ chối yêu cầu cho đến khi khách hàng sử dụng giao thức mới hơn. Cần nâng cấp được chỉ định trong tiêu đề “Upgrade”.

Lỗi 428 Yêu cầu điều kiện – Máy chủ yêu cầu yêu cầu phải điều kiện.

Lỗi 429 Quá nhiều yêu cầu – Đây là một hình thức giới hạn tốc độ để bảo vệ máy chủ vì khách hàng gửi quá nhiều yêu cầu đến máy chủ một cách nhanh chóng.

Lỗi 430 Trường Header Yêu cầu Quá Lớn – Sử dụng không chính thức bởi Shopify.

Lỗi 431 Trường Header Yêu cầu Quá Lớn – Máy chủ không xử lý yêu cầu vì trường header quá lớn.

Lỗi 440 Quá trình đăng nhập đã hết thời gian – Sử dụng không chính thức bởi IIS.

Lỗi 444 Không có phản hồi – Sử dụng không chính thức bởi nginx.

Lỗi 449 Thử lại với – Sử dụng không chính thức bởi IIS.

Lỗi 450 Bị chặn bởi Bộ lọc Cha của Windows – Sử dụng không chính thức bởi Microsoft.

Lỗi 451 Không khả dụng vì lý do hợp pháp – Điều này bị chặn vì một số lý do hợp pháp. Bạn có thể thấy nó đôi khi với các hạn chế cấp quốc gia, ví dụ, không thể truy cập tin tức hoặc video do vấn đề về riêng tư hoặc giấy phép. Bạn có thể thấy nó trong trường hợp yêu cầu tiến hành DMCA. Mã này tham khảo đến tiểu thuyết Fahrenheit 451.

Lỗi 451 Chuyển hướng – Sử dụng không chính thức bởi IIS.

Lỗi 460 – Sử dụng không chính thức bởi AWS Elastic Load Balancer.

Lỗi 463 – Sử dụng không chính thức bởi AWS Elastic Load Balancer.

Lỗi 494 Trường Header yêu cầu quá lớn – Sử dụng không chính thức bởi nginx.

Lỗi 495 Lỗi Chứng chỉ SSL – Sử dụng không chính thức bởi nginx.

Lỗi 496 Đòi hỏi Chứng chỉ SSL – Sử dụng không chính thức bởi nginx.

Lỗi 497 Gửi yêu cầu HTTP tới cổng HTTPS – Sử dụng không chính thức bởi nginx.

Lỗi 498 Mã thông báo không hợp lệ – Sử dụng không chính thức bởi Esri.

Lỗi 499 Khách hàng đóng yêu cầu – Sử dụng không chính thức bởi nginx.

Lỗi 499 Yêu cầu mã thông báo – Sử dụng không chính thức bởi Esri.

Cách Google xử lý mã lỗi 4xx

Mã lỗi 4xx sẽ khiến các trang không được đưa vào chỉ số.

Mã lỗi 404 và 410 được xử lý tương tự nhau. Cả hai đều xóa trang khỏi chỉ số, nhưng mã lỗi 410 sẽ nhanh hơn một chút. Trong ứng dụng thực tế, cả hai thường gần như tương đương.

421 là mã sử dụng bởi Google để loại bỏ việc thu thập dữ liệu bằng giao thức HTTP/2.

429 có một chút đặc biệt vì chúng thường được coi là lỗi của máy chủ và sẽ làm cho Google giảm tốc độ thu thập dữ liệu. Nhưng cuối cùng, Google cũng sẽ loại bỏ các trang này khỏi chỉ mục.

Một điều bạn có thể muốn kiểm tra là xem các trang 404 này có liên kết đến chúng hay không. Nếu các liên kết trỏ đến một trang 404, chúng sẽ không được tính trong số các trang web của bạn. Khả năng cao, bạn chỉ cần chuyển hướng 301 từng trang này đến một trang liên quan.

5xx – Lỗi phía máy chủ

Các mã trạng thái 5xx có nghĩa là máy chủ gặp lỗi và nó biết rằng nó không thể thực hiện yêu cầu. Phản hồi sẽ bao gồm lý do của lỗi.

500 Lỗi máy chủ nội bộ – Máy chủ gặp một vấn đề nào đó và không có mã lỗi tốt hơn hoặc cụ thể hơn.

501 Chưa được thực hiện – Phương thức yêu cầu không được hỗ trợ bởi máy chủ.

502 Cổng chuyển tiếp kém – Máy chủ ở giữa của yêu cầu và được sử dụng để chuyển tiếp. Nhưng nó đã nhận được một phản hồi không tốt từ máy chủ mà nó đang chuyển tiếp đến.

503 Dịch vụ không khả dụng – Máy chủ quá tải hoặc đang bảo trì và không thể xử lý yêu cầu ngay bây giờ. Có thể sớm sẽ hoạt động trở lại.

504 Cổng chuyển tiếp quá thời gian chờ – Máy chủ ở giữa của yêu cầu và được sử dụng để chuyển tiếp. Nhưng nó không nhận được phản hồi kịp thời từ máy chủ mà nó đang chuyển tiếp đến.

505 Phiên bản HTTP không được hỗ trợ – Đúng như tên gọi, phiên bản giao thức HTTP trong yêu cầu không được máy chủ hỗ trợ.

506 Cũng đàm phán biến thể – Cho phép khách hàng nhận được biến thể tốt nhất của một tài nguyên khi máy chủ có nhiều biến thể.

507 Lưu trữ không đủ – Máy chủ không thể lưu trữ những gì cần thiết để hoàn thành yêu cầu.

508 Phát hiện vòng lặp – Máy chủ phát hiện vòng lặp vô hạn khi xử lý yêu cầu.

509 Vượt quá giới hạn băng thông – Sử dụng không chính thức bởi Apache và cPanel.

510 Không được mở rộng – Yêu cầu cần có thêm phần mở rộng trước khi máy chủ thực hiện nó.

511 Yêu cầu xác thực mạng – Khách hàng cần xác thực trước khi máy chủ cho phép truy cập mạng.

520 Máy chủ web trả về lỗi không rõ ràng – Sử dụng không chính thức bởi Cloudflare.

521 Máy chủ web bị tắt – Sử dụng không chính thức bởi Cloudflare.

522 Kết nối đã hết thời gian – Sử dụng không chính thức bởi Cloudflare.

523 Gốc không thể truy cập – Sử dụng không chính thức bởi Cloudflare.

524 Đã xảy ra lỗi thời gian chờ – Sử dụng không chính thức bởi Cloudflare.

525 SSL Handshake thất bại – Sử dụng không chính thức bởi Cloudflare.

526 Giấy chứng nhận SSL không hợp lệ – Không chính thức sử dụng bởi Cloudflare.

527 Lỗi Railgun – Không chính thức sử dụng bởi Cloudflare.

529 Trang web quá tải – Không chính thức sử dụng bởi Qualys.

530 – Không chính thức sử dụng bởi Cloudflare.

530 Trang web bị đóng băng – Không chính thức sử dụng bởi Pantheon.

561 Không được ủy quyền – Không chính thức sử dụng bởi AWS Elastic Load Balancer.

598 (Quy ước không chính thức) Lỗi đọc thời gian mạng hết thời – Không chính thức sử dụng bởi một số proxy HTTP.

Cách Google xử lý mã 5xx

Mã lỗi 5xx sẽ làm chậm quá trình lập chỉ mục của Google. Cuối cùng, các trang đó sẽ bị xóa khỏi chỉ mục Google.

Mã 6xx+ – Không chính thức

Các tiêu chuẩn chỉ xác định mã 1xx-5xx, nhưng bạn có thể gặp phải một số mã trạng thái không chính thức. Rất nhiều lần, chúng sẽ được sử dụng bởi các nền tảng khác nhau hoặc cho phép người dùng sử dụng một số dải mã tùy chỉnh. Vì đây đều là mã tùy chỉnh, không thể liệt kê được chức năng của từng mã. Các con số có thể vượt quá 1.000.

999 – Đây là mã lỗi phổ biến đủ để đề cập. Thường được sử dụng làm mã lỗi chung khi một yêu cầu không thể được xử lý hoặc bị từ chối.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *