Back to questions
Aston
Junior — Middle
70
Можете объяснить, что такое CORS и зачем он нужен в веб-разработке?
Companies where asked
Answer from AI
sobes.tech AI
CORS (Cross-Origin Resource Sharing) — это механизм безопасности браузера, который позволяет контролировать, какие внешние домены могут обращаться к ресурсам вашего веб-сервера.
По умолчанию браузеры блокируют запросы с одного домена к другому (междоменные запросы) из-за политики одного источника (Same-Origin Policy). CORS позволяет серверу явно разрешить или запретить такие запросы.
Как это работает:
- Клиент (браузер) отправляет запрос с заголовком
Origin, указывающим домен источника. - Сервер проверяет этот домен и, если разрешает доступ, отвечает с заголовком
Access-Control-Allow-Origin, указывающим разрешённый домен или*для всех. - Если заголовок отсутствует или домен не разрешён, браузер блокирует доступ к ответу.
Пример настройки CORS в ASP.NET Core:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowSpecificOrigin",
builder => builder.WithOrigins("https://example.com")
.AllowAnyHeader()
.AllowAnyMethod());
});
}
public void Configure(IApplicationBuilder app)
{
app.UseCors("AllowSpecificOrigin");
// остальные middleware
}
Таким образом, CORS помогает безопасно управлять доступом к API или ресурсам с разных доменов.