rupring v0.13.0

https://github.com/myyrakle/rupring
์ด๋Ÿฐ์ €๋Ÿฐ ๊ธฐ๋Šฅ๋“ค์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.




HTTP1 keep alive ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ ์ถ”๊ฐ€

rupring์˜ ๊ธฐ๋ณธ ๋ถ€ํŒ… ๋ชจ๋“œ๋Š” http1์ด๋‹ค.
๊ทธ๋ฆฌ๊ณ  keep-alive๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋น„ํ™œ์„ฑํ™”๋˜๊ณ , true๋ฅผ ์•„๋ž˜์™€ ๊ฐ™์ด ์ „๋‹ฌํ•œ๋‹ค๋ฉด keep-alive๊ฐ€ ํ™œ์„ฑํ™”๋œ๋‹ค.




HTTP2 ๋ฐ TLS ๊ธฐ๋Šฅ ์ถ”๊ฐ€

HTTP2 ๋ชจ๋“œ๋กœ ๋ถ€ํŒ…ํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ TLS ์„ค์ • ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ๋‹ค.
HTTP2๋ฅผ ์“ฐ๋ ค๋ฉด ์–ด์ฐจํ”ผ tls๋„ ๊ฐ™์ด ๋˜์–ด์•ผ ํ•˜๋Š”๊ฑฐ๋ผ ์“ด๋‹ค๋ฉด ๋ณดํ†ต ์„ธํŠธ๋กœ ์“ฐ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

TLS๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด features์— tls๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ 

ํ”Œ๋ž˜๊ทธ์— ์ธ์ฆ์„œ์™€ ํ‚ค๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  http2๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด enabled ํ”Œ๋ž˜๊ทธ๋งŒ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.
http2 ํ”Œ๋ž˜๊ทธ๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด http1 ๊ธฐ๋ฐ˜์˜ ํ”Œ๋ž˜๊ทธ๋“ค์€ ์ „๋ถ€ ๋น„ํ™œ์„ฑํ™”๋œ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ์‹คํ–‰ํ•˜๊ณ  ์ฐ”๋Ÿฌ๋ณด๋ฉด, ์ž˜ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.




Request Timeout ๊ตฌํ˜„

๊ธ€๋กœ๋ฒŒ๋กœ ์ ์šฉ๋˜๋Š” API ์ˆ˜์ค€ ํƒ€์ž„์•„์›ƒ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

์ด๋Ÿฌ๋ฉด ์•„๋ฌด๋ฆฌ ์˜ค๋ž˜๊ฑธ๋ ค๋„ 3์ดˆ ์ง€๋‚˜๋ฉด ๊ฐ•์ œ๋กœ ๋Š์–ด๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค.

์ „๋‹ฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ํƒ€์ž„์•„์›ƒ์ด ์„ค์ •๋˜์ง€ ์•Š๋Š”๋‹ค. ๋ฌดํ•œํ•˜๊ฒŒ ์‹คํ–‰๋œ๋‹ค.




์ฟ ํ‚ค ๊ด€๋ จ ์ œ์–ด๊ธฐ๋Šฅ ์ถ”๊ฐ€

๋ณ„๊ฑด ์•„๋‹ˆ๊ณ , ์ฟ ํ‚ค ํ•ธ๋“ค๋ง์„ ์ข€ ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์ด ์ข€ ์ถ”๊ฐ€๋œ๋‹ค.

Request๋กœ ๋“ค์–ด์˜จ Cookie ์ •๋ณด๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ˆ˜์ค€์—์„œ ์ž๋™์œผ๋กœ ํŒŒ์‹ฑํ•ด์„œ ์ „๋‹ฌํ•ด์ค€๋‹ค.

๊ทธ๋ฆฌ๊ณ  Response์˜ add_cookie ๋ฉ”์„œ๋“œ๋กœ ์ฟ ํ‚ค ์„ธํŒ…์„ ์ข€ ๋” ๊ฐ„ํŽธํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.