рдпрд╣ рдЙрдкрдХрд░рдг рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ
рдпрд╣ рдореБрдлреНрдд рдСрдирд▓рд╛рдЗрди рд╡реЗрдм рд╕рд░реНрд╡рд┐рд╕ рдЪреЗрдХ рдЖрдкрдХреЛ рдЪреЗрдХ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдпрд╛ API рдЕрдк рд╣реИрдВтАФURL рджрд░реНрдЬ рдХрд░реЗрдВ (рдПрдХ рдкреНрд░рддрд┐ рд▓рд╛рдЗрди) рдФрд░ HTTP рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб, рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдЯрд╛рдЗрдо рдФрд░ рдЙрдкрд▓рдмреНрдзрддрд╛ рджреЗрдЦреЗрдВред рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдФрд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдкрдЯрд╛рдЗрдо рдЪреЗрдХ, API рд╣реЗрд▓реНрде рдЪреЗрдХ рдпрд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реНрдЯреЗрдЯрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдмрд┐рдирд╛ рд╕рд╛рдЗрди-рдЕрдк, рдмрд┐рдирд╛ рдкреНрд░реЙрдХреНрд╕реА; рдЖрдкрдХрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣рд░ URL рд╕реАрдзреЗ рдлрд╝реЗрдЪ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХреБрдЫ рднреА рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рд╕реЗ рди рдЧреБрдЬрд░реЗред рдЕрдкрдЯрд╛рдЗрдо рдЪреЗрдХ, API рд╣реЗрд▓реНрде, рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдбрд┐рдмрдЧ рдпрд╛ CORS рдЪреЗрдХ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ред
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ
рддреНрд╡рд░рд┐рдд рд╢реБрд░реБрдЖрдд: URL рдкреЗрд╕реНрдЯ рдпрд╛ рдЯрд╛рдЗрдк рдХрд░реЗрдВ (рдПрдХ рдкреНрд░рддрд┐ рд▓рд╛рдЗрди, рдЕрдзрд┐рдХрддрдо 20), рдЧрд╛рдпрдм рд╣реЛ рддреЛ https:// рдЬреЛрдбрд╝реЗрдВ, Check рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдлрд┐рд░ рдЯреЗрдмрд▓ рджреЗрдЦреЗрдВ (URL, рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб, рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдЯрд╛рдЗрдо, рд╕реНрдЯреЗрдЯрд╕)ред рд╣рд░рд╛ = Up рдпрд╛ Reachable, рдкреАрд▓рд╛ = Redirect, рд▓рд╛рд▓ = рдПрд░рд░ рдпрд╛ рдмреНрд▓реЙрдХред
- URL рджрд░реНрдЬ рдХрд░реЗрдВ тАФ URL рдкреЗрд╕реНрдЯ рдпрд╛ рдЯрд╛рдЗрдк рдХрд░реЗрдВ, рдПрдХ рдкреНрд░рддрд┐ рд▓рд╛рдЗрди (рдпрд╛ рдХреЙрдорд╛ рд╕реЗ рдЕрд▓рдЧ)ред рдЧрд╛рдпрдм рд╣реЛ рддреЛ
https://рдЬреЛрдбрд╝реЗрдВред - Check рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ тАФ рдЯреВрд▓ URL рд╡реИрд▓рд┐рдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ 5 рдХреЗ рдмреИрдЪ рдореЗрдВ рд╣рд░ рдПрдХ рдлрд╝реЗрдЪ рдХрд░рддрд╛ рд╣реИред
- рд░рд┐рдЬрд▓реНрдЯ рджреЗрдЦреЗрдВ тАФ рдЯреЗрдмрд▓ URL, HTTP рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб, рд░рд┐рд╕реНрдкреЙрдиреНрд╕ рдЯрд╛рдЗрдо (ms) рдФрд░ рд╕реНрдЯреЗрдЯрд╕ (Up, Redirect, Client Error, Server Error, Timeout, Reachable, CORS blocked) рджрд┐рдЦрд╛рддреА рд╣реИред
- рд╕реНрдЯреЗрдЯрд╕ рд╕рдордЭреЗрдВ тАФ рд╣рд░рд╛ = Up (2xx) рдпрд╛ Reachable (CORS рд░рд┐рд╕реНрдЯреНрд░рд┐рдХреНрдЯреЗрдб), рдкреАрд▓рд╛ = Redirect (3xx), рд▓рд╛рд▓ = рдПрд░рд░ рдпрд╛ рдмреНрд▓реЙрдХред
рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
URL рдкрд╛рд░реНрд╕ (рдиреНрдпреВрд▓рд╛рдЗрди рдпрд╛ рдХреЙрдорд╛ рд╕реЗ рд╕реНрдкреНрд▓рд┐рдЯ), рдЯреНрд░рд┐рдо рдФрд░ рд╡реИрд▓рд┐рдбреЗрдЯред рдХреЗрд╡рд▓ http рдФрд░ httpsред рд╣рд░ URL рдкрд╣рд▓реЗ рдкреВрд░рд╛ рд╕реНрдЯреЗрдЯрд╕ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП fetch() mode: "cors" рд╕реЗ рдлрд╝реЗрдЪред рдЕрдЧрд░ CORS рдЬреИрд╕реА рдПрд░рд░ рд╕реЗ рдлреЗрд▓ рд╣реЛ рддреЛ рдЯреВрд▓ mode: "no-cors" рд╕реЗ рд░рд┐рдЯреНрд░рд╛рдп рдХрд░рддрд╛ рд╣реИтАФрдЕрдЧрд░ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рд╕рдХреНрд╕реАрдб рддреЛ рд╕рд╛рдЗрдЯ Reachable (рд╕реНрдЯреЗрдЯрд╕ рдЕрдЬреНрдЮрд╛рдд) рд░рд┐рдкреЛрд░реНрдЯред рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ; CORS рдкрд╣рд▓реЗ рдЕрдЯреЗрдореНрдкреНрдЯ рдкрд░ рд▓рд╛рдЧреВред 5-рд╕реЗрдХрдВрдб рдХреЛрд▓рдбрд╛рдЙрди рд░реИрдкрд┐рдб рд░реА-рдЪреЗрдХ рд░реЛрдХрддрд╛ рд╣реИред рдкреНрд░рддрд┐ рд░рди рдЕрдзрд┐рдХрддрдо 20 URLред рд╕рд╛рд░реА рдЧрдгрдирд╛ рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВред рдХреЛрдИ рдбреЗрдЯрд╛ рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ред
рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдФрд░ рдЙрджрд╛рд╣рд░рдг
- рдЕрдкрдЯрд╛рдЗрдо рдЪреЗрдХ тАФ рд╡реЗрд░рд┐рдлрд╛рдИ рдХрд░реЗрдВ рдХрдИ рдПрдВрдбрдкреЙрдЗрдВрдЯ рд░рд┐рд╕реНрдкреЙрдиреНрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВред
- API рд╣реЗрд▓реНрде тАФ рдХрдИ API URL рдЬрд▓реНрджреА рдкрд┐рдВрдЧ рдХрд░реЗрдВред
- рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдбрд┐рдмрдЧ тАФ рджреЗрдЦреЗрдВ рдХреМрди рд╕реЗ URL рд░рд┐рд╕реНрдкреЙрдиреНрдб рдФрд░ рдХреМрди рдЯрд╛рдЗрдордЖрдЙрдЯред
- CORS рдЪреЗрдХ тАФ рдкрд╣рдЪрд╛рдиреЗрдВ рдХреМрди рд╕реА рд╕рд╛рдЗрдЯ рдХреНрд░реЙрд╕-рдУрд░рд┐рдЬрд┐рди рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг
- CORS-рдлреНрд░реЗрдВрдбрд▓реА URL (рдЬреИрд╕реЗ https://httpbin.org/get) тЖТ 200, Up
- https://httpbin.org/status/404 тЖТ 404, Client Error
- рд╕рдЦреНрдд CORS рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯ тЖТ Reachable (CORS restricted) рдпрд╛ CORS blocked
рд╕реАрдорд╛рдПрдВ рдФрд░ рдЬреНрдЮрд╛рдд рдмрд╛рдзрд╛рдПрдВ
- CORS тАФ CORS рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯ "Reachable" (рд░рд┐рд╕реНрдкреЙрдиреНрдб; рд╕реНрдЯреЗрдЯрд╕ рдЕрдЬреНрдЮрд╛рдд) рдпрд╛ "CORS blocked" рджрд┐рдЦрд╛ рд╕рдХрддреА рд╣реИрдВред рдкреВрд░реЗ рд╕реНрдЯреЗрдЯрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП CORS-рдПрдиреЗрдмрд▓реНрдб рдЯрд╛рд░реНрдЧреЗрдЯ рдЪрд╛рд╣рд┐рдПред
- рдЕрдзрд┐рдХрддрдо 20 URL тАФ рдкреНрд░рддрд┐ рдЪреЗрдХред
- 8 s рдЯрд╛рдЗрдордЖрдЙрдЯ тАФ рд╣рд░ URL рдХреА 8-рд╕реЗрдХрдВрдб рд▓рд┐рдорд┐рдЯред
- 5 s рдХреЛрд▓рдбрд╛рдЙрди тАФ рджреВрд╕рд░рд╛ рдЪреЗрдХ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 5 рд╕реЗрдХрдВрдб рдкреНрд░рддреАрдХреНрд╖рд╛ред
- рдХреЗрд╡рд▓ http/https тАФ рджреВрд╕рд░реА рд╕реНрдХреАрдо рд░рд┐рдЬреЗрдХреНрдЯред
- рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓рд┐рдорд┐рдЯ тАФ рд╕рдорд╛рди-рдУрд░рд┐рдЬрд┐рди рдкреЙрд▓рд┐рд╕реА рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдлрд╝реЗрдЪ рдмрд┐рд╣реЗрд╡рд┐рдпрд░ рдХреЗ рдЕрдзреАрдиред