์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- CI/CD
- disk spill
- spark executor memory
- aws
- Spark Caching
- Spark SQL
- k8s
- Speculative Execution
- off heap memory
- mysql
- KDT_TIL
- colab
- redshift
- DataFrame Hint
- topic
- backfill
- Spark
- Kubernetes
- ๋น ๋ฐ์ดํฐ
- Airflow
- Docker
- AQE
- Kafka
- SQL
- ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ
- Dag
- Spark Partitioning
- Spark ์ค์ต
- Salting
- etl
- Today
- Total
JUST DO IT!
[TIL]KDT_20230418 ๋ณธ๋ฌธ
๐ KDT WEEK 3 DAY 2 TIL
- HTTP
- HTML
- ์ค๋ฆฌ์ ์ผ๋ก HTTP ํต์ ํ๊ธฐ
๐ฅ HTTP (Hypertext Transfer Protocol)
์น ์์์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ์ฝ์
- ํด๋ผ์ด์ธํธ์์ ์๋ฒ๋ก ์ ๋ณด๋ฅผ ์์ฒญํ๋ ๊ฒ์ HTTP ์์ฒญ(Request)๋ผ๊ณ ํ๋ค.
- ์์ฒญ๋ฐ์ Request์ ์๋ตํ์ฌ ๋ณด๋ด์ฃผ๋ ๊ฒ์ HTTP ์๋ต(Response)๋ผ๊ณ ํ๋ค.
- HTTP ์์ฒญ/์๋ต์ ๋ํ ์ ๋ณด๋ฅผ ๋ด๋ Head์ ๋ด์ฉ๋ฌผ์ธ Body๋ก ๋๋๋ค
- Head : ๋ณด๋ด๋ ์ฌ๋, ๋ฐ๋ ์ฌ๋.. ๋ฑ์ ์์ฒญ/์๋ต์ ๋ํ ์ ๋ณด
- Body : ๋ณด๋ด๋ ๋ด์ฉ๋ฌผ
๐ง HTML
HTTP ์๋ต์ Body, ์น ํ์ด์ง๋ฅผ ๊ทธ๋ฆด ๋ ์ฌ์ฉ๋๋ ๋งํฌ์ ์ธ์ด
- ์น ๋ธ๋ผ์ฐ์ ์ ์ญํ : HTML ์์ฒญ์ ๋ณด๋ด๊ณ โก ๋ฐ์ ์๋ต์ ํ๋ฉด์ ๊ทธ๋ ค์ค๋ค!
- HTML์ ์์(element) : ํ๊ทธ โก ์ฌ๋ ํ๊ทธ, ๋ซ๋ ํ๊ทธ๋ฅผ ํฌํจํ ๊ฒ์ด ํ๋์ ์์
- ํ๊ทธ๋ก ๋ด์ฉ์ ๋ฌถ์ด ๊ธ์ ํ์์ ์ง์ ํ๊ณ , ๊ทธ์ ๋ง๋ ์์ฑ(attribute)์ ๊ฐ์ง๊ธฐ๋ ํ๋ค.
- ์น ๋ธ๋ผ์ฐ์ ๋ง๋ค ์ง์ํ๋ ํ๊ทธ์ ์์ฑ์ด ๋ค๋ฅด๋ค!
- HTML์์์ ์ด๋์ ์๋์ง, ์ด๋ค ํ๊ทธ๋ก ๋ฌถ์ฌ์๋์ง ์ํ๋ ๋ด์ฉ์ ์ฐพ๋ ๊ฒ์ด ๊ด๊ฑด!
๐จ HTTP ํต์ ํ๊ธฐ
- get ๋ฉ์๋๋ฅผ ํตํด ํน์ URL์ Request๋ฅผ ๋ณด๋ผ ์ ์๋ค.
- post ๋ฉ์๋๋ฅผ ํตํด ๋์ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ฉฐ ์์ฒญํ ์ ์๋ค.
- ์ฌ์ฉํ ์ฌ์ดํธ : https://webhook.site/
๐ฉ ์ค๋ฆฌ์ ์ผ๋ก ์น ์คํฌ๋ํ, ํฌ๋กค๋ง ์งํํ๊ธฐ
์น ์คํฌ๋ํ : ์น ํ์ด์ง๋ค๋ก๋ถํฐ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ์ ๋ณด(ํน์ ๋ฐ์ดํฐ)๋ฅผ ์ถ์ถ โก ๋ฐ์ดํฐ ์ถ์ถ
- ex) ๋ ์จ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ, ์ฃผ์ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ..
์น ํฌ๋กค๋ง : ํฌ๋กค๋ฌ(Crawler)๋ฅผ ์ด์ฉํด์ ์น ํ์ด์ง์ ์ ๋ณด๋ฅผ ์ธ๋ฑ์ฑ โก ๋ฐ์ดํฐ ์์ธ
- URL์ ํ๊ณ ๋ค๋๋ฉฐ ๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ณผ์
- ex) ๊ฒ์ ์์ง์ ์น ํฌ๋กค๋ฌ
์ฌ๋ฐ๋ฅด๊ฒ HTTP ์์ฒญํ๊ธฐ
- ์น ์คํฌ๋ํ/ํฌ๋กค๋ง์ ํตํด ์ด๋ค ๋ชฉ์ ์ ๋ฌ์ฑํ๊ณ ์ ํ๋๊ฐ?
- ๋์ ์น ์คํฌ๋ํ/ํฌ๋กค๋ง์ด ์๋ฒ์ ์ํฅ์ ๋ฏธ์น์ง๋ ์๋๊ฐ?
REP(Robot Exclusion Protocol) : ๋ก๋ด ๋ฐฐ์ ํ๋กํ ์ฝ
robots.txt?
- ์น ์ฌ์ดํธ ๋ฐ ์น ํ์ด์ง๋ฅผ ์์งํ๋ ๋ก๋ด๋ค์ ๋ฌด๋จ ์ ๊ทผ์ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ง๋ค์ด์ง REP
- ์ผ๋ถ ์คํธ ๋ด์ด๋ ๊ฐ์ง ํด๋ผ์ด์ธํธ ๋ก๋ด์ ๊ตฌ๋ณํ๊ธฐ ์ํด ์ฌ์ฉ์ ์์ด์ ํธ(user agent) ์ ๋ณด๋ฅผ ์ ๋ฌํด์ผ ํ๋ค
- HTTP ํค๋์ ๋์ ๋ธ๋ผ์ฐ์ ์ ๋ณด๋ฅผ ์ ๋ฌํ์ฌ ์น ์๋ฒ๊ฐ ๋๋ฅผ ์ง์ง ์ฌ์ฉ์๋ก ์ธ์ํ ์ ์๋๋ก ํ๋ค.
- User-agent : ๊ท์น์ด ์ ์ฉ๋๋ ๋์ ์ฌ์ฉ์ ์์ด์ ํธ ( * ๋ ๋ชจ๋ ์ฌ์ฉ์๋ฅผ ๊ฐ๋ฆฌํจ๋ค)
- Disallow : ํฌ๋กค๋ง์ ๊ธ์งํ ์น ํ์ด์ง ( / ๋ ๋ชจ๋ ์์ฒญ์ ์๋ฏธํ๋ค )
- Allow : ํฌ๋กค๋ง์ ํ์ฉํ ์น ํ์ด์ง ( /$ ๋ ๋ชจ๋ ํ์ ์์ค URL์ ์ ์ธํ ๋ฃจํธ URL์ ์๋ฏธํ๋ค )
๐ฆ ์น ๋ธ๋ผ์ฐ์ ๊ฐ HTML์ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ
DOM(Document Object Model)
html์ ์๊ฒ ํธ๋ฆฌ ํํ๋ก ๋๋์ด ํ์ฑํ ํํ (๋ธ๋ผ์ฐ์ ๊ฐ ํ๋ ์ผ!)
- ๊ฐ ๋ ธ๋๋ฅผ ๊ฐ์ฒด๋ก ์๊ฐํ๋ฉด ๋ฌธ์๋ฅผ ๋์ฑ ํธ๋ฆฌํ๊ฒ ๊ด๋ฆฌํ ์ ์์!
- DOM Tree๋ฅผ ์ํํด์ ํน์ ์์๋ฅผ ์ฐพ์๋ด๊ฑฐ๋ ์ถ๊ฐ, ๋ณ๊ฒฝํ ์ ์๋ค โก ๋์ ์ผ๋ก ๊ด๋ฆฌ ๊ฐ๋ฅ
๐ค ๊ณต๋ถํ๋ฉด์ ์ด๋ ค์ ๋ ๋ด์ฉ
REP์ ๋ํ ๋ด์ฉ์ด ์ดํด๊ฐ ๊ฐ์ง ์์์ robots.txt์ ๋ํ ์ ๋ณด๋ฅผ ๋ ์ฐพ์๋ณด๊ฒ ๋์๋ค.
ํ๋กํ ์ฝ์ด๋ผ๊ณ ํ๊ธฐ์ ๊ฐ์ ์ฑ์ด ์์ด ํฌ๋กค๋ฌ๊ฐ ์ด๋ฅผ ๋ฌด์ํ ์๋ ์๋ค๊ณ ํ๋ค.
ํ์ง๋ง robots.txt๋ฅผ ์ ์ฉํด์ผ ํ๋ ์ด์ ๋ ๋ช๊ฐ์ง ์์๋ค.
- ๊ฒ์์์ง ํฌ๋กค๋ฌ์ ๊ณผ๋ํ ํฌ๋กค๋ง ๋ฐ ์์ฒญ์ผ๋ก ์ธํ ๊ณผ๋ถํ ๋ฐฉ์ง
- ํฌ๋กค๋ฌ์ Crawl budget(์ผ์ผ ์์ฒญ ์)์ ๋ญ๋น๋ฅผ ๋ฐฉ์งํ์ฌ ๊ฒฐ๊ณผ์ ์๊ฐ ์์ค ์ค์ด๊ธฐ
- ์ฌ์ดํธ๋งต์ ์์น๋ฅผ ์ ๊ณตํ์ฌ ๊ฒ์์์ง์๊ฒ ๋น ๋ฅด๊ฒ ๋ฐ๊ฒฌ๋ ์ ์๋๋ก ๋ง๋ค๊ธฐ
์ด๋ฌํ ์ด์ ๋ก ๊ฑฐ์ ๋ชจ๋ ์ฌ์ดํธ๊ฐ robots.txt๋ฅผ ์ ์ฉํ๊ณ ์๋ค.
์ฐพ์๋ณด๋ ์กฐ๊ธ ์ฌ๋ฐ๋ ์์๋ ์์๋ค ๐คฃ
- ๋์ดํค์ ์์ด๋น์๋น์ robots.txt์๋ ๋ธ๋๋ ๋ก๊ณ ๋ฅผ ํฌํจํ๊ณ ์๋ค.
- ๊ตฌ๊ธ์ humans.txt๋ ์ ์ฉ(?)ํ๊ณ ์๋ค
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL]KDT_20230420 (0) | 2023.04.20 |
---|---|
[TIL]KDT_20230419 (0) | 2023.04.19 |
[TIL]KDT_20230417 (0) | 2023.04.17 |
[TIL] KDT_20230414 (0) | 2023.04.14 |
[TIL] KDT_20230413 (0) | 2023.04.13 |