웹과 통신
웹의 동작 원리
- 웹 페이지 URL정보로 HTTP요청 메시지를 만든다.
- 입력한 URL주소를 DNS서버에서 조회하여 IP주소를 검색한다.
- 라우터를 통해 해당 서버의 게이트웨이까지 이동한다.
- ARP로 IP를 MAC주소로 변환한다.
- 대상 서버와 TCP 통신을 시도한다.
- 서버와 연결이 되면 HTTP프로토콜로 요청한 다음 이에 대한 응답 메시지를 생성한다.
- 만들어진 HTTP 응답 메시지는 온 방식 그대로 원래 컴퓨터로 전송한다.
- 도착한 HTTP 응답 메시지는 HTTP프로토콜을 사용하여 웹 페이지 데이터로 변환된다.
- 변환된 웹 페이지는 웹 브라우저에 의해 출력되어 사용자가 볼 수 있게 된다.
CORS
- Cross Origin Resource Sharing.
- 현재 도메인과 다른 도메인으로 리소스가 요청되는 경우를 말한다.
- 보안상의 이유로 브라우저는 CORS를 제한한다.
- 해결) 서버의 응답 헤더 Access-Control-Allow-Origin 프로퍼티에 허용해 줄 도메인을 입력해 주면 된다.
REST API
- HTTP 통신에서 어떤 자원에 대한 CRUD 요청을 Resource와 Method로 표현하여 특정한 형태로 전달하는 방식.
- EX) 게시글 작성을 위해 http://localhost:8080/example/insertBoard라는 URI에 Post방식을 사용하여 json형태의 데이터를 전달할 수 있다.
- Resource: 자원, URI.
- Method: 행위, POST, GET, PUT, DELETE.
- 자원의 형태: json, xml등.
- REST API를 사용하는 이유: 웹 페이지를 위해 HTML 및 이미지를 보낸던 것과 달리 이제는 데이터만 보내면 여러 클라이언트에서 해당 데이터를 적절히 보여주기만 하면 된다. 서버도 요청한 데이터만 깔끔하게 보내주면 되기 때문에 가벼워지고 유지보수성도 좋아졌다.
reference
velog.io/@hygoogi/%EA%B8%B0%EC%88%A0%EB%A9%B4%EC%A0%91-%EC%A4%80%EB%B9%84%ED%95%98%EA%B8%B0#%EC%9B%B9%EA%B3%BC-%ED%86%B5%EC%8B%A0
owlgwang.tistory.com/1
mangkyu.tistory.com/46
shyvana.tistory.com/7