본문 바로가기

Computer Science/네트워크4

[HTTP] REST API REST API가 무엇인지 알아본다. 비바 리퍼블리카 이응준 개발자님이 Naver DEVIEW에서 강연하신 내용을 듣고 요약했으며, 일부 예제는 김영한님의 HTTP 강의를 참고했다. 해당 자료에 대한 링크는 포스트 하단에 명시했다. REST API란 무엇인가 REST(REpresentational State Transfer)는 로이 필딩(Roy Fielding)이 '어떻게하면 웹을 망가뜨리지 않으면서 HTTP를 개선할 수 있을까'에 대한 고민을 하며 제안한 "분산 하이퍼미디어 시스템(ex.웹)을 위한 아키텍쳐 스타일"이다. 2000년에 자신의 박사 논문 에서 REST를 처음으로 제안하였다. 즉 REST API란 이 REST 아키텍쳐 스타일을 따르는 API를 말한다. 아키텍쳐 스타일은 제약 조건의 집합이다.. 2021. 7. 8.
[HTTP] HTTP 상태코드 HTTP 상태코드란 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주기 위해 정의한 기능이다. 즉 클라이언트는 HTTP 상태코드를 보고 내가 보낸 요청이 어떻게 처리되었는지 알 수 있다. 따라서 서버는 요청 결과에 알맞은 상태코드를 보내줘야한다. 대략적인 의미 1xx (Informational): 요청이 수신되어 처리중 (거의 사용하지 않음) 2xx (Successful): 요청 정상 처리 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4xx (Client Error): 클라이언트 오류, 잘못된 요청으로 서버가 요청을 수행할 수 없음 5xx (Server Error): 서버 오류, 올바른 요청이나 서버 문제로 요청을 처리할 수 없음 클라이언트가 인식할 수 없는 상태코드를 서버가.. 2021. 7. 8.
[HTTP] GET과 POST의 차이 GET 리소스 조회를 위한 메서드. 서버에 전달하고 싶은 데이터는 query(쿼리 파라미터 or 쿼리 스트링)를 통해서 전달한다. 다음과 같은 형태 GET /search?q=hello&hl=ko HTTP/1.1 Host: www.google.com 특징 리소스 조회가 목적이다. 데이터를 헤더에 쿼리 스트링으로 전달한다. 따라서 대용량 데이터를 보내기에 적절하지 않으며 보안에도 취약하다. POST 방식보다 빠르다. 브라우저에 캐싱이 가능하기 때문에 같은 요청의 경우 서버로 보내지 않고 캐싱된 정보를 보내준다. 이는 GET의 멱등성 때문이기도 하다. 멱등성이란 같은 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 말하는데, GET은 POST와 달리 멱등성을 가지고 있기 때문에 이같은 방식이 가능하다.. 2021. 7. 8.
검색창에 www.google.com을 검색하면 어떤 일이 일어날까? 웹의 전체적인 동작 과정을 이해하기 위해 공부한 내용을 정리한 글입니다. 전체적인 과정을 이해하는 것이 목적이므로 생략된 부분이 많습니다. 이론적이고 정확한 지식을 원하시는 분은 반드시 관련 전문 서적을 참조해주세요. 인터넷의 동작 과정 웹의 동작 과정을 이해하기 위해서는 우선 인터넷의 동작 과정부터 이해해야 합니다. '인터넷'하면 익스플로러나 크롬 아이콘의 이미지를 떠올리는 사람이 있다면 우선 웹과 인터넷의 개념을 분리할 필요가 있습니다. 인터넷과 웹의 관계는 너무 밀접해서 마치 인터넷과 웹이 같은 개념인 것처럼 느껴지지만 인터넷과 웹은 엄연히 다른 개념입니다. 인터넷은 1960년대에서 70년대 사이에 탄생했지만, 웹은 20여년 정도가 흐른 뒤인 1990년대에 탄생했습니다. 인터넷은 세상의 모든 컴퓨터.. 2021. 7. 8.