Chủ đề của PRN232 - Xây dựng ứng dụng back-end đa nền tảng với .NET

PRN232 Chương 1 - Nhập môn ASP.NET Core và RESTful Service

Chương 1 môn PRN232 mở đầu bằng nền tảng ASP.NET Core và kiến trúc RESTful: sáu ràng buộc REST, tính phi trạng thái (statelessness), giao thức HTTP cùng request line và các mã trạng thái như 200 OK, đặc điểm đa nền tảng và mã nguồn mở của ASP.NET Core, dependency injection dựng sẵn, cấu hình pipeline trong Program.cs, MapControllers và tài liệu API tương tác bằng Swagger (OpenAPI). Trọn bộ câu hỏi trắc nghiệm có giải thích.

Xem danh sách câu hỏi10 câu hỏi100% có giải thích

Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.

Học ngân hàng câu hỏi của chủ đề

Luyện tập theo chủ đề này

10Câu hỏi hiện có

Câu hỏi của chủ đề

10/10 câuHết danh sách
Đề bài
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
var app = builder.Build();
if (app.Environment.IsDevelopment()) {
  // What two lines of code are typically added here?
}
Aapp.UseExceptionHandler("/error"); app.UseHsts();
Bapp.UseSwagger(); app.UseSwaggerUI();
Capp.UseAuthentication(); app.UseAuthorization();
Dapp.UseRouting(); app.UseEndpoints(...);
Lời giải

Để thêm tính năng tạo và hiển thị Swagger vào ứng dụng ASP.NET Core 8 của bạn, bạn cần thực hiện các bước sau. Đầu tiên, bạn cần thêm các dịch vụ cần thiết vào trong chương trình của mình. Điều này bao gồm việc thêm dịch vụ tạo và hiển thị Swagger. Sau đó, bạn cần xây dựng ứng dụng của mình và kiểm tra xem ứng dụng đang ở môi trường phát triển hay không. Nếu ứng dụng đang ở môi trường phát triển, bạn cần thêm hai dòng mã đặc biệt để kích hoạt tính năng tạo và hiển thị Swagger. Cụ thể, bạn cần thêm lệnh app.UseSwagger(); và app.UseSwaggerUI(); vào trong chương trình của mình.

Mở trang câu hỏi này →
AStatus line
BRequest line
CStart-of-response line
DEntity line
Lời giải
Trong yêu cầu 'GET /images/logo.gif HTTP/1.1', dòng này được gọi là dòng yêu cầu (Request line). Dòng yêu cầu là một phần quan trọng của giao thức HTTP, nó chứa thông tin về phương thức yêu cầu (GET, POST, PUT, DELETE, ...), đường dẫn URL, và phiên bản HTTP được sử dụng. Trong ví dụ này, dòng yêu cầu là 'GET /images/logo.gif HTTP/1.1', cho biết phương thức yêu cầu là GET, đường dẫn URL là /images/logo.gif, và phiên bản HTTP được sử dụng là 1.1. Dòng yêu cầu được gửi từ client (người dùng) đến server (máy chủ) để yêu cầu thực hiện một hành động cụ thể.
Mở trang câu hỏi này →
AThe server does not store any information about the client's state between requests.
BThe client does not need to maintain any state about the server.
CThe communication protocol does not support sessions.
DThe server encrypts all state information.
Lời giải
Statelessness trong REST là một trong những đặc điểm quan trọng của kiến trúc này. Nó cho biết server không lưu trữ bất kỳ thông tin nào về trạng thái của client giữa các yêu cầu. Điều này có nghĩa là mỗi yêu cầu gửi đến server phải tự chứa đủ thông tin để thực hiện hành động mong muốn mà không cần dựa vào bất kỳ trạng thái nào được lưu trữ trước đó. Điều này giúp tăng tínhscalability và độ tin cậy của hệ thống, vì server không cần phải quản lý trạng thái của từng client. Tuy nhiên, điều này cũng đòi hỏi client phải gửi đủ thông tin để server có thể xử lý yêu cầu một cách độc lập.
Mở trang câu hỏi này →
AThe request has been accepted for processing, but the processing has not been completed.
BThe server has successfully fulfilled the request.
CThe requested resource could not be found.
DThe server understands the request but refuses to authorize it.
Lời giải
Mã trạng thái HTTP 200 OK cho biết yêu cầu đã được xử lý thành công. Khi một máy chủ web nhận được một yêu cầu HTTP, nó sẽ trả về một mã trạng thái HTTP để xác định kết quả của yêu cầu. Mã trạng thái 200 OK là một trong những mã trạng thái phổ biến nhất và cho biết máy chủ đã xử lý yêu cầu thành công. Điều này có nghĩa là máy chủ đã hiểu và thực hiện được yêu cầu của người dùng, và đã trả về nội dung yêu cầu như mong đợi. Ví dụ, khi bạn truy cập một trang web, máy chủ web sẽ trả về mã trạng thái 200 OK để xác nhận rằng trang web đã được tải xuống thành công. Mã trạng thái này cũng được sử dụng khi bạn gửi một yêu cầu HTTP để tạo hoặc cập nhật một tài nguyên trên máy chủ web.
Mở trang câu hỏi này →
AHTML
BXML
CJSON
DYAML
Lời giải
Trong các lựa chọn trên, JSON (JavaScript Object Notation) là định dạng dữ liệu phổ biến nhất được sử dụng cho các gói tải phản hồi trong các API REST hiện đại. JSON cung cấp một cách đơn giản và dễ đọc để biểu diễn dữ liệu, giúp dễ dàng truyền tải và xử lý dữ liệu giữa các ứng dụng và hệ thống khác nhau. Nó cũng hỗ trợ các loại dữ liệu cơ bản như chuỗi, số, boolean, mảng và đối tượng, cũng như các thuộc tính và phương thức của đối tượng. Việc sử dụng JSON trong các API REST giúp giảm thiểu thời gian tải trang và tăng cường hiệu suất của ứng dụng. Ngoài ra, JSON cũng được hỗ trợ rộng rãi bởi các nền tảng và ngôn ngữ lập trình khác nhau, làm cho nó trở thành lựa chọn phổ biến cho các ứng dụng web và di động.
Mở trang câu hỏi này →
6What is the primary purpose of Swagger (OpenAPI) in an ASP.NET Core Web API?4 lựa chọnDễ100% trả lời đúng
ATo provide a database management interface.
BTo describe the capabilities of your API and provide interactive documentation.
CTo automatically handle user authentication and authorization.
DTo monitor the performance of the API in real-time.
Lời giải
Swagger (OpenAPI) là một công cụ quan trọng trong việc xây dựng và quản lý API. Mục đích chính của Swagger là mô tả khả năng của API và cung cấp tài liệu interact được. Điều này giúp cho các nhà phát triển và người dùng dễ dàng hiểu được cách sử dụng API, bao gồm các phương thức HTTP, tham số, phản hồi và các thông tin khác. Swagger cũng cho phép tạo ra tài liệu API tự động, giúp giảm thiểu thời gian và công sức trong việc tạo và duy trì tài liệu. Ngoài ra, Swagger còn hỗ trợ các tính năng như tạo mẫu mã, thử nghiệm API và phân tích hiệu suất, giúp cho việc phát triển và quản lý API trở nên dễ dàng hơn.
Mở trang câu hỏi này →
ATo securely encrypt data transmissions.
BTo transfer hypertext documents across the internet.
CTo manage and query databases.
DTo define the structure of a web page.
Lời giải
HTTP (Hypertext Transfer Protocol) là một giao thức mạng được sử dụng để truyền tải dữ liệu trên internet. Mục đích chính của giao thức HTTP là chuyển đổi các tài liệu siêu văn bản (hypertext documents) giữa các máy tính. Điều này bao gồm việc truyền tải các trang web, hình ảnh, âm thanh và các loại dữ liệu khác. Khi bạn nhập địa chỉ URL của một trang web vào trình duyệt, trình duyệt sẽ gửi một yêu cầu HTTP đến máy chủ lưu trữ trang web đó. Máy chủ sẽ trả lời yêu cầu bằng cách gửi lại trang web yêu cầu, và trình duyệt sẽ hiển thị trang web đó cho bạn. Vì vậy, mục đích chính của giao thức HTTP là truyền tải các tài liệu siêu văn bản trên internet.
Mở trang câu hỏi này →
AA web service that uses SOAP for communication.
BA web service that adheres to the architectural principles of REST.
CA web service that only returns XML data.
DA web service that requires a specific client-side framework.
Lời giải
Một dịch vụ web RESTful là một loại dịch vụ web được thiết kế theo nguyên tắc kiến trúc REST (Representational State of Resource). REST là một mô hình kiến trúc dựa trên tài nguyên, nơi mà mỗi tài nguyên được đại diện bởi một URI duy nhất và có thể được truy cập thông qua các phương thức HTTP khác nhau như GET, POST, PUT và DELETE. Dịch vụ web RESTful thường sử dụng các phương thức này để thực hiện các hành động như đọc, tạo, cập nhật và xóa dữ liệu. Điều này giúp tạo ra một dịch vụ web linh hoạt, dễ dàng sử dụng và có khả năng mở rộng cao.
Mở trang câu hỏi này →
9Which of the following is a key REST constraint?4 lựa chọnKhó33% trả lời đúng
AStateless communication
BServer-managed conversational state
CTight coupling between client and server
DProtocol-specific operations only
Lời giải
REST (Representational State of Resource) là một kiến trúc ứng dụng dựa trên các nguyên tắc và hạn chế cụ thể để đảm bảo tính linh hoạt,scalability và dễ dàng bảo trì. Một trong những hạn chế quan trọng của REST là giao tiếp không có trạng thái (Stateless communication). Điều này có nghĩa là mỗi yêu cầu từ client đến server phải chứa tất cả thông tin cần thiết để xử lý yêu cầu đó, mà không cần dựa vào trạng thái trước đó của giao tiếp. Điều này giúp tăng tính linh hoạt và dễ dàng mở rộng hệ thống. Ví dụ, khi client gửi yêu cầu để lấy thông tin về một tài khoản, server không cần lưu trữ trạng thái của giao tiếp trước đó, mà chỉ cần xử lý yêu cầu dựa trên thông tin được gửi kèm theo. Hạn chế này giúp đảm bảo tính nhất quán và dễ dàng bảo trì hệ thống.
Mở trang câu hỏi này →
ACross-platform support
BOpen-source framework
CTight integration with IIS only
DBuilt-in dependency injection
Lời giải
ASP.NET Core là một framework web phát triển bởi Microsoft. Nó cung cấp nhiều tính năng quan trọng như hỗ trợ đa nền tảng, mã nguồn mở và tích hợp chặt chẽ với IIS. Tuy nhiên, một trong những tính năng không phải là đặc điểm chính của ASP.NET Core là tích hợp chặt chẽ với IIS chỉ. Điều này có nghĩa là ASP.NET Core không chỉ được tích hợp với IIS mà còn có thể chạy độc lập trên các nền tảng khác như Linux và macOS. Ngoài ra, ASP.NET Core cũng cung cấp tính năng dependency injection được tích hợp sẵn, giúp dễ dàng quản lý các phụ thuộc trong ứng dụng. Vì vậy, trong các lựa chọn trên, 'Tight integration with IIS only' là không phải là một đặc điểm chính của ASP.NET Core.
Mở trang câu hỏi này →

Đề có câu hỏi của chủ đề này

3 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.