HTTP Error 416
"The requested range is not satisfiable" ????????????????????
λ²μλ₯Ό μλͺ» μ λ ₯νκ±°λ λ λ²μλ₯Ό μ λ ₯ν κ²½μ°.
πΈ λ°μνκ² λ μν©:
μμ μ νλ μ€... νμΌμ λ°λ€κ° μ€κ°μ λ©μ·μ κ²½μ°(κ°μ’ λ±λ± μμνμ§ λͺ»ν μ’ λ£) λ€μμ λ€μ νμΌμ μ΄μ΄λ°κ³ μΆμ΄μ μ½λλ₯Ό μμ±νλ€. λ°μν μλ¬μλ€.
HTTPμ νΉμ λ²μ(byte)λΆν° νμΌμ λ°κ² λ€κ³ μμ²μ 보λμλ€.
HTTPμ μ°κ²°μ λμ§λ§ μ λ¬ λ°μ λ΄μ©μλ μμ κ°μ ν
μ€νΈκ° ν¬ν¨λ bufferλ₯Ό λ°μλ€.
μμ²λ¬Έλ²μ΄ μλͺ»λλ©΄ "Error 400 : Bad Request - Invalid Header" μ λ±μ΄λΈλ€. μ¦ λ¬Έλ²μλ λ¬Έμ κ° μμλ€.
("HTTP λ²μ μμ²" ν€μλλ‘ κ΅¬κΈλ§ νλ©΄ λ¬Έλ² λμ΄.)
μ°Έκ³ λ‘ μ¬μ©νλ λ¬Έλ² ννλ μλμ κ°μλλ° dataLengthκ° μλ²μ λ§ν¬νμ¬ λ°μ λ°μ΄ν°μ μ΄ν© ν¬κΈ°μ λμΌν λ Error 416μ λ±μ΄λλ€.
"Range:bytes=%d-" , dataLength
πΉ λ¬Έμ ν΄κ²° λ°©λ²:
μ λ¬Έμ λ μλ₯Ό λ€μ΄ νμΌμ λμ΄ 512μΈλ° νμ¬κΉμ§ λ°μ λ°μ΄ν°μ μ(dataLength)μ κΈΈμ΄κ° 512 μΌλ λ°μνλ λ¬Έμ μ΄μλ€. μ΄λ λ μμΉμ νμΌ ν¬κΈ°κ° 1μ λΊ κ²λ³΄λ€ ν΄μκ° μκΈ° λλ¬Έμ λνλ νμμ΄μλ€.
λ§μ½ νμΌμ λ€ λ°μμΌλ totalsize == dataLengthμΌλ μμΈμ²λ¦¬λ₯Ό ν΄μ£Όκ±°λ dataLength-1μνμ¬ μλ²μ μ°κ²°νμ¬ 1byteλ₯Ό ν λ²λ λ°λ μμΌλ‘ μ½λλ₯Ό μμ νλ©΄ λλ€.
1. "Range:bytes=%d-" , dataLength-1
2. "Range:bytes=%d-%d" , dataLength-1, totalLength
3. if(dataLength == totalLength)
{ /* ... μμΈμ²λ¦¬ ... */ };
μ νλ κ² λ³΄λ€ λ«κ² μ§
ν¬μ€ν μ΄ μ’μλ€λ©΄ "μ’μμβ€οΈ" λλ "ꡬλ ππ»" ν΄μ£ΌμΈμ!