κ³μ μΆκ°ν μμ μ λλ€.
JWTλ JSON μΉ ν ν°μ λνλ λλ€. π₯μΈμ¦ λ° κΆν λΆμ¬ λͺ©μ μΌλ‘ μ¬μ©λλ μΌμ’ μ ν ν°π₯μ λλ€.
JWTλ ν€λ, νμ΄λ‘λ λ° μλͺ μ μΈ λΆλΆμΌλ‘ ꡬμ±λ©λλ€.
JWTλ μΌλ°μ μΌλ‘ μΉ μ ν리μΌμ΄μ λ° APIμμ ν΄λΌμ΄μΈνΈμ μλ² κ°μ μ¬μ©μ λ°μ΄ν°λ₯Ό μμ νκ² μ μ‘νλ μλ¨μΌλ‘ μ¬μ©λ©λλ€. ν ν°μ μλ²μμ μμ±λμ΄ μ μ₯λλ ν΄λΌμ΄μΈνΈλ‘ μ μ‘λ©λλ€. κ·Έλ° λ€μ ν΄λΌμ΄μΈνΈλ κ° νμ μμ²κ³Ό ν¨κ» ν ν°μ μ μ‘νμ¬ μλ²κ° μ¬μ©μ μ΄λ¦κ³Ό μνΈλ₯Ό κ³μ νμΈνμ§ μκ³ λ μ¬μ©μλ₯Ό μΈμ¦νκ³ κΆνμ λΆμ¬ν μ μλλ‘ ν©λλ€.
JWTλ λ 립νμΌλ‘ μ€κ³λμμΌλ©° μΈμ λ°μ΄ν°μ μλ² μΈ‘ μ€ν 리μ§κ° νμνμ§ μμΌλ―λ‘ λΆμ° μμ€ν μμ λ³΄λ€ νμ₯ κ°λ₯νκ³ μ¬μ©νκΈ° μ½μ΅λλ€.
μ°Έκ³ μλ£ μΆμ² : https://jwt.io/!
μΌμͺ½μ΄ ν ν°μ 보μ΄κ³ , μ€λ₯Έμͺ½μ΄ ν ν° μνΈλ₯Ό 볡νΈν μμΌ λμ¨ μ 보μ λλ€.
HTTPλ Hypertext Transfer Protocolμ μ½μμ λλ€. μΈν°λ·μ ν΅ν΄ λ°μ΄ν°λ₯Ό μ μ‘νλ λ° μ¬μ©λλ νλ‘ν μ½μ λλ€. HTTPλ World Wide Webμ κΈ°λ°μ΄λ©° ν΄λΌμ΄μΈνΈ(μ: μΉ λΈλΌμ°μ )μ μλ²(μ: μΉ μλ²) κ°μ ν΅μ μ κ°λ₯νκ² ν©λλ€.
- GET : 리μμ€ μ‘°ν, μλ²μ μ λ¬νκ³ μΆμ λ°μ΄ν°λ Query(쿼리 νλΌλ―Έν°, 쿼리 μ€νΈλ§)λ₯Ό ν΅ν΄μ μ λ¬
- POST : μμ² λ°μ΄ν° μ²λ¦¬, μ£Όλ‘ λ±λ‘μ μ¬μ©
- PUT : 리μμ€λ₯Ό λ체, ν΄λΉ 리μμ€κ° μμΌλ©΄ μμ±
- PATCH : 리μμ€ λΆλΆ λ³κ²½
- DELETE : 리μμ€ μμ
HTTPλ μν λΉμ μ₯(Stateless) νλ‘ν μ½μ λλ€. μ¦, κ° μμ²κ³Ό μλ΅μ΄ λ 립μ μ΄λ©° μ΄μ μμ²μ΄λ μλ΅μ λν μ 보λ₯Ό μ μ§νμ§ μμ΅λλ€. μνλ₯Ό μ μ§νκΈ° μν΄ μΉ κ°λ°μλ μΏ ν€ λλ κΈ°ν λ°©λ²μ μ¬μ©νμ¬ ν΄λΌμ΄μΈνΈ μΈ‘ λλ μλ² μΈ‘μ μ 보λ₯Ό μ μ₯ν©λλ€.
HTTPλ μκ°μ΄ μ§λ¨μ λ°λΌ λ°μ ν΄ μμΌλ©° μ΅μ λ²μ μ μ±λ₯ λ° λ³΄μ ν₯μμ μν΄ QUIC νλ‘ν μ½μ μ¬μ©νλ HTTP/3μ λλ€.
let a = 1;
function addOne(b) { //callee νΈμΆ λΉνλ
b = b + 1;
}
addOne(a); // caller νΈμΆ νλ
console.log(a); // 1
const me = {
name: 'Jimmy'
};
function changeName(person) { //callee νΈμΆ λΉνλ
person.name = 'Joo';
}
console.log(me); // { name: 'Jimmy' }
changeName(me); // caller νΈμΆ νλ
console.log(me); // { name: 'Joo' }
μ°μ΄μ΄ νΈμΆλλ ν¨μλ€ μ€ λ§μ§λ§ ν¨μ(λλ μ μΌ μ²μ)λ§ νΈμΆνλλ‘ νλ κ²
νμ©λλ κ³³ : κ²μμ μ£Όλ‘ μ¬μ©λλ€.
λ§μ§λ§ ν¨μκ° νΈμΆλ ν μΌμ μκ°μ΄ μ§λκΈ° μ μ λ€μ νΈμΆλμ§ μλλ‘ νλ κ²
νμ©λλ κ³³ : μ€ν¬λ‘€μ μ¬λ¦¬κ±°λ λ΄λ¦΄ λ λ³΄ν΅ μ¬μ©
μ°Έκ³ μλ£ μΆμ²
https://www.zerocho.com/category/JavaScript/post/59a8e9cb15ac0000182794fa
CORSλ Cross-Origin Resource Sharingμ μ½μμ λλ€. μΉ νμ΄μ§κ° μλ νμ΄μ§λ₯Ό μ 곡ν λλ©μΈμ΄ μλ λ€λ₯Έ λλ©μΈμ λν μμ²μ λ§λ€μ§ λͺ»νλλ‘ μ ννλ μ΅μ μΉ λΈλΌμ°μ μ ꡬνλ 보μ κΈ°λ₯μ λλ€.
ν λλ©μΈμ μΉ νμ΄μ§κ° λ€λ₯Έ λλ©μΈμ HTTP μμ²μ μλν λ λΈλΌμ°μ λ μλ²κ° μλ³Έ κ° μμ²μ νμ©νλμ§ νμΈνκΈ° μν΄ CORS μ€ν μ μμ²μ μλ²λ‘ 보λ λλ€. κ·Έλ° λ€μ μλ²λ μμ²μ΄ νμ©λλμ§ μ¬λΆλ₯Ό λνλ΄λ μ μ ν CORS ν€λλ‘ μλ΅ν©λλ€. μμ²μ΄ νμ©λλ©΄ λΈλΌμ°μ λ μ€μ μμ²μ μ§νν©λλ€. κ·Έλ μ§ μμ κ²½μ° λΈλΌμ°μ λ μμ²μ μ°¨λ¨νκ³ μ€λ₯λ₯Ό λ°νν©λλ€.
(1) μλ² κ°λ°μμ μν΅
- λ€νΈμν¬ νν©μ 곡μ νλ©° μν΅νμ¬ ν΄κ²° ν©λλ€.
(2) κ°λ° νκ²½μμ νλ‘μ μ€μ μ ν΄μ€λ€.- CRAμμλ
package.json
μμ Proxy μ€μ μ νμ¬ ν΄κ²° ν©λλ€.- NextJsμΈ κ²½μ°
next.conifg.js
μμ Proxy μ€μ μ νμ¬ ν΄κ²° ν©λλ€.
asd