рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ, рдореБрдЭреЗ рднрд╛рдЧреЛрдВ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП HTTP рд░реЗрдВрдЬ рдЕрдиреБрд░реЛрдз рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рднрд┐рдиреНрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ
RFC 2616 рдХрд╛ рдПрдХ рднреА рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред рдПрдХ рдХреЛрдб рдиреЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдХрд┐ рдХрдИ рд░реЗрдВрдЬ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рджреВрд╕рд░рд╛ рдЬреЛ рдорд╛рдирдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдмрдбрд╝реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рддреАрд╕рд░рд╛ рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрдЯрд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╣реА рдФрд░ рдЕрдЧрдореНрдп рдЕрдиреБрд░реЛрдз рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдорд╛рдирдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рд▓рд┐рдЦрдиреЗ рдФрд░ рд╕рднреА рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рд╡рд┐рд╡рд░рдг рдФрд░ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ PHP рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред
рдорд╛рдирдХ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рд╢реНрд░реЗрдгреА рдХреНрд╡реЗрд░реА рдореЗрдВ рджреЛ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ: рд░реЗрдВрдЬ рдХрд╛ рдЖрдпрд╛рдо рдФрд░ рдЪрдпрди рдирд┐рдпрдореЛрдВ рдХреА рдПрдХ рд╕реВрдЪреАред
RFC 2616 рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдПрдХрдорд╛рддреНрд░ рд░реЗрдВрдЬ рдЖрдпрд╛рдо рдмрд╛рдЗрдЯреНрд╕ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рд╣реА рд╢реНрд░реЗрдгреА рдХреЗ рд╢реАрд░реНрд╖рд▓реЗрдЦ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрдИ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред
рдХреНрд▓рд╛рдЗрдВрдЯ рджреНрд╡рд╛рд░рд╛ HTTP рд░реЗрдВрдЬ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред
рдкрд╣рд▓рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдФрд░ рдЕрдВрдд рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рдВрдХреЗрдд рд╣реИред рдкрд╣рд▓реА рд╕реНрдерд┐рддрд┐ рд╢реВрдиреНрдп рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдЙрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдпрдерд╛, рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢реАрд░реНрд╖ рд▓реЗрдЦ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ рдпрд╛ рдЗрд╕рдХрд╛ рдореВрд▓реНрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдЙрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рддреЛ рдЕрдВрддрд┐рдо рд╕реНрдерд┐рддрд┐ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдЖрдХрд╛рд░ рд╣реИред 1 рд╕реЗ рдХрдоред рдорд╛рдирдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдмрд┐рдирд╛ рдЗрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдЬрд╛рдиреЗ рдмрд┐рдирд╛ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдХрд╛рд░ рдореЗрдВ 10 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд▓рд┐рдП,
bytes=1-9
9 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░реЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдирд┐рдХрд╛рдп рдХреЗ рдЕрдВрддрд┐рдо рдмрд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред
рджреВрд╕рд░рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд┐рдХрд╛рдп рдХреЗ рдЕрдВрддрд┐рдо рдПрди рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЪрдпрди рд╣реИред рдпрджрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЖрдХрд╛рд░ рд╕реЗ рдЫреЛрдЯрд╛ рд╣реИ, рддреЛ рдкреВрд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
bytes=-2
рдЕрдВрддрд┐рдо 2 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред
рд╕рднреА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд░реНрд╡рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕реАрдорд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЧреИрд░-рд╢реВрдиреНрдп рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рдЗрдЯреНрд╕ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╕рд░реНрд╡рд░ SHOULD рдХреНрд▓рд╛рдЗрдВрдЯ 416 (рдЕрдиреБрд░реЛрдзрд┐рдд рд╕реАрдорд╛ рд╕рдВрддреЛрд╖рдЬрдирдХ рдирд╣реАрдВ) рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ 206 (рдЖрдВрд╢рд┐рдХ рд╕рд╛рдордЧреНрд░реА)ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ "рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рд╕рдВрдЧрдд" рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдпрджрд┐ рдорд╛рдирдХ рдХреА рд╕рднреА рд╢рд░реНрддреЗрдВ рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рд░реЗрдВрдЬ рдЕрдиреБрд░реЛрдз рдХрд╛ рдкреВрд░реНрдг рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
PHP рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЙрджрд╛рд╣рд░рдг:
<?php namespace HTTP; function parse_range_request($entity_body_length, $range_header) { $range_list = array(); if ($entity_body_length == 0) { return $range_list;