[4번. 포트가 다른 각각의 서버 통신(비동기 통신, CORS)]
브라우저에 기본적으로 보안설정이 되어있다. 최초에 보냈던 url이랑 두번째로 보낸 url이 다르면 브라우저가 막아버린다. 따라서 요청 자체가 안됨.
그래서 이를 허락해주는 작업을 해야하는데, 이는 request message, response message 조작을 통해 할 수 있다. cors도 결국 header부분을 만져서 작업을 해주면 된다.,
axios 비동기 요청
동기 : 브라우저에서 엔터를 쳐서 바뀌는것. url이 바뀌는게 동기요청
비동기 : url이 바뀌지 않는것.
언제 동기를 쓰고, 언제 비동기를 쓰면 좋을까?
동기 - data sync가 중요한 경우
비동기 - 유저에게 빠른 피드백이 필요한 경우. 요청 해놓고 받아지는대로 바로바로 표현
axios를 쓰면 javascript만으로 요청을 때리는것. res, req header를 만들수있다
get, post의 차이.
GET / ?name=ingoo / HTTP 그 첫줄,,
POST / - 이게 끝이고 내용이 body부분으로감 그래서 보이지 않음.
app.use(express.urlencoded({extends:true}))
이걸 쓰는 이유가 저 숨겨진 바디부분 내용을 읽겟다는 뜻
body내용에 name=ingoo 이렇게 들어가는데, 가끔 {name=ingoo} 라고 들어가는 경우가 있음. urlencoded는 querystring의 형태만 처리해줄수 있음 그래서 json형태도 읽게 해주기 위해 app.use(express.json())을 쓰는것!
요청 헤더(req)에 Content-type이라는 내용이 있음. 이 내용의 뜻이 body영역으로 보낼때 querystring으로 보내겠다는 뜻. Content-type에 json어쩌구 들어가있으면 json형태로 보낸다는 뜻