본문 바로가기

Network5

CORS에 대한 이해 CORS(Cross-Origin Resource Sharing)를 이해하기 위해 이번 포스팅을 진행하려고 한다. CORS는 교차 출처 리소스 공유라는 의미로 여기서 '교차 출처'를 다른 의미로 해석하면 '다른 출처' 라고 생각할 수 있다. 즉 다른 출처간의 리소스를 공유하는 정책을 의미한다. 먼저, 출처(Origin)에 대해 자세하게 알아보자. Origin (출처) Origin은 URL에서 프로토콜, 도메인, 포트번호를 합친 것을 말한다. 서버의 위치를 찾아가기 위해 필요한 가장 기본적인 것들을 합쳐놓은 것이다. https://techgm28.tistory.com:80/posts/2 다음의 URL을 살펴보면 https:// 이부분이 프로토콜(scheme)에 해당되며 techgm28.tistory.com이.. 2023. 2. 25.
RESTful API 프론트엔드와 백엔드 간의 소통이 원활해지려면 상호간의 엔드포인트인 API가 중요하다. 얼마나 명확하고 직관적이게 작성하냐에 따라 이해도가 달라지기 때문이다. 그래서 우리는 RESTful하게, 즉, 일종의 약속을 통해 API가 어떤 동작을 수행하는지 명확하게 작성하려고 노력해야한다. 여기서 REST란 Representational State Transfer의 약자로 2000년, 로이 필딩(Roy Fielding)이 박사학위 논문에 소개된 API 아키텍처 가이드라인이다. 현재까지도 이 가이드라인을 지키기 위해 많은 사람들이 노력하고 있다. 가이드라인이기 때문에 안지킨다고 해서 에러가 발생하거나 그러진 않지만 개발자들이 API를 접했을 때 RESTful하게 작성되었을 것이라 생각하고 API를 대하기 때문에 지.. 2023. 2. 23.
URI URL URN 개발 공부를 하다보면 어쩔 때는 URI를 사용하고 어쩔 때는 URL 라는 용어를 사용한다. 이 차이점이 궁금하여 정리를 하려고 한다. URI (Uniform Resource Identifier) URI는 통합자원식별자로 인터넷에 있는 자원이 어디에 있는지 자원 자체를 식별하는 방법이다. Uniform : 리소스를 식별하는 통일된 방식 Resource : 자원, URI로 식별할 수 있는 모든 것 (웹 브라우저 파일 및 그 외의 리소스 포함) Identifier : 다른 항목과 구분하는데 필요한 정보 URI의 존재는 인터넷에서 요구되는 기본조건으로서 인터넷 프로토콜에 항상 붙어다닌다. URI의 하위 개념으로 URL, URN이 있다. URL (Uniform Resource Locator) URL은 파일식별자로.. 2023. 2. 21.
HTTP 상태코드 HTTP 상태 코드를 알맞게 사용하는 것은 아주 중요하다. HTTP 상태 코드를 확인하면 클라이언트가 서버로 보낸 요청에 대한 응답이 성공인지 실패인지를 확인할 수 있으며, 어떤 유형의 성공인지 실패인지를 확인할 수 있다. 그리고 만약 백엔드 개발자가 통신간의 에러가 발생했을 시 상태 코드를 잘못 설정해놓는다면 프론트엔드 개발자 입장에서는 예외 처리를 하는 것이 번거로워 질 것이다. 이 때문에 HTTP 상태 코드를 알맞게 사용하는 것은 중요하다. HTTP 상태코드 HTTP의 상태코드의 종류는 아주 많다. 여기서는 자주 쓰이는 상태 코드만 정리를 해보려고 한다. 모든 종류의 상태코드를 확인하려면 공식문서를 참고하자. 응답은 5개의 그룹으로 나눠진다. 조건부 응답, 성공 응답, 리다이렉트 응답, 클라이언트 .. 2023. 2. 19.
HTTP란? HTTP(HyperText Transfer Protocol) 인터넷에서 데이터를 주고받을 수 있는 프로토콜로 일종의 통신 규약이다. 웹 클라이언트와 서버 간의 통신을 하기 위한 약속이라 할 수 있다. HTTP의 동작 방식 클라이언트가 브라우저를 통해서 원하는 서비스를 url과 같은 방식을 통해 요청(Request)을 서버로 보내면 해당 요청사항에 맞는 결과를 클라이언트에게 응답(Response)하는 형태로 동작한다. HTTP의 특징 HTTP 메시지는 HTTP서버와 클라이언트에 의해 해석된다. TCP/IP를 이용하는 응용 프로토콜이다. HTTP는 연결상태를 유지하지 않는 비연결성 프로토콜이다.(이러한 단점을 해결하기 위해 Cookie와 Session이 등장) HTTP는 비연결성 프로토콜이라 요청 / 응답 .. 2023. 2. 18.