인파

You Can Become A

늦게 시작해도 누구든지 노력하면 개발자가 될수 있어요 !

공부한 내용을 정리합니다
개발 지식/HTTP 지식

🌐 301 vs 302 상태 코드 차이점 (SEO)

301 vs 302 Redirection 리다이렉션(Redirection)은 보통 웹사이트를 새로운 도메인으로 옮겼거나 페이지의 주소가 바뀌없을때, 이용자들을 하여금 변경된 주소로 자동으로 옮겨가게 만드는데 사용된다. HTTP 프로토콜에서는 리다이렉션 HTTP 상태코드인 301 과 302 를 통해, 클라이언트를 지정된 URL로 보내도록 할수가 있다. 이중. 301 리다이렉션은 영구(permanent) 리다이렉션이라고 부르며, 302 리다이렉션은 일시(temporarily) 리다이렉션 이라고 부른다. 문제는 이 둘의 차이점이 애매하다는 것이다. 왜냐하면 실제로 둘이 동작 형태를 브라우저로 확인해보면, 둘다 자동으로 리다이렉션하는 것을 똑같으니 사람의 육안으로는 이 둘의 차이를 구별할수 없기 때문이다. 그럼..

category_image
인파_
2023.01.09
(0)
개발 지식/HTTP 지식

🌐 HTTP 상태 코드(1XX ~ 5XX) 종류 총정리

HTTP Status Code HTTP의 상태 코드는 클라이언트가 보낸 HTTP 요청이 성공했는지 실패했는지를 서버에서 알려주는 숫자 코드다. 개발자 도구의 네트워크 탭을 보면 아래와 같이 Status 숫자 코드로 요청의 결과를 간략하게 나타내주는데, 클라이언트를 다루는 우리들은 이 숫자를 보고 결과를 단번에 유추할수 가 있게 된다. (물론 각 코드가 무엇을 의미하는지 별도의 공부가 필요하다) HTTP 상태 코드는 3자리 숫자로 이루어져 있으며, 총 100번대 ~ 500번대 까지 존재한다. 그리고 각 상태코드의 첫 번째 자리는 최상위 코드가 되어 다음과 같이 5 개의 그룹으로 나뉘어 관리된다. 1XX : 요청이 수신되어 처리중 2XX : 요청 정상 처리 3XX : 요청을 완료하려면 추가 행동이 필요 4X..

category_image
인파_
2023.01.07
(0)
개발 지식/HTTP 지식

🌐 5XX (Server Error) 상태 코드 - 총정리 모음

5XX Server Error 5XX 번대의 상태 코드들은 서버 오류를 의미한다. 4XX 상태코드와 5XX 상태코드 모두 오류를 반환하는 응답 코드이지만, 4XX는 클라이언트의 요청에 문제가 있는 것이기에 요청 메세지를 검토하여 수정한 뒤 재전송하면 해결이 가능하지만, 5XX 는 서버에 문제가 있는 것이기 때문에 서버 자체의 상태를 보아야 하는 차이가 있다. 즉, 클라이언트가 유효한 요청을 보냈음에도, 5XX 가 발생하면 즉시 서버 상태를 확인하여 서버 복구를 진행해야 한다는 것이다. 그래서 서버가 복구되면 같은 요청 메시지를 재전송면 요청이 성공할 가능성이 있다. 또는 클라이언트와 원 서버 모두 정상이지만 중간 프록시 서버나 게이트웨이와 같은 서버의 보조 구성 요소에서도 문제가 생길때 5XX 응답 코드..

category_image
인파_
2023.01.06
(0)
개발 지식/HTTP 지식

🌐 4XX (Client Error) 상태 코드 - 총정리 모음

4XX Client Error 4xx 번대의 상태 코드들은 클라이언트 오류를 의미하며, 잘못된 문법 등의 오류로 인해 서버가 요청을 수행할 수 없고 그 원인이 클라이언트에게 있음을 뜻한다. 예를들어 잘못 구성된 요청 메세지 규칙 같은 것이 있을 수 있으며, 존재하지 않은 URL 요청도 있을 수 있다. 400 Bad Request Bad Request ⇢ 클라이언트가 잘못된 요청을 보냄을 의미 클라이언트의 잘못된 요청으로 서버가 이해할수가 없어 요청을 수행할 수 없음을 뜻한다. 주로 요청 구문, 메시지 등의 문법 오류로 인한 문제가 해당되며 요청 파라미터가 잘못되거나 API 스펙이 맞지 않는 경우에도 400 상태코드를 내뱉는다. 따라서 이를 해결하기 위해서는 클라이언트가 자신의 요청을 검토하고 재전송하여야..

category_image
인파_
2023.01.05
(0)
개발 지식/HTTP 지식

🌐 3XX (Redirection) 상태 코드 - 총정리 모음

3XX Redirection 3xx 번대의 상태 코드들은 리다이렉션을 의미하며, 이는 요청을 완료하려면 추가적인 작업(페이지 이동)이 필요함을 의미한다. 클라이언트가 관심 있어 하는 리소스에 대해 다른 위치를 사용하라고 말해주거나 그 리소스의 내용 대신 다른 대안 응답을 제공한다. 리다이렉션(Redirection)은 클라이언트가 요청한 URL에 대해 다른 URL을 다시(re) 지시(direct)하여 다른 주소로 이동할 수 있게 하는 기술이다. HTTP 에 사용되는 리다이렉션은 크게 3가지 종류로 나눌 수 있다. 영구 리다이렉션(Permanent) : 특정 리소스의 URL 이 영구적으로 이동 일시 리다이렉션(Temporary) : 특정 리소스의 URL 이 일시적으로 이동 특수 리다이렉션(Special) :..

category_image
인파_
2023.01.04
(0)
개발 지식/HTTP 지식

🌐 2XX (Successful) 상태 코드 - 총정리 모음

2XX Success 2xx 번대의 상태 코드들은 요청이 정상적으로 처리되었다는 의미를 가진다. 단순히 요청에 대한 성공을 나타내지만, 클라이언트가 어떠한 행위에 대한 성공인지에 대한 것을 나타내기 때문에, 응답을 받고 클라이언트가 취할 행위를 결정하는데 중요하면서도 정말 자주 보게될 상태 코드일 것이다. 200 OK OK ⇢ 클라이언트의 요청을 서버가 정상적으로 처리 메세지 바디에는 HTTP 메서드에따라 각기 다른 요청된 리소스를 포함 GET : 리소스를 가져왔고 메시지 바디에 들어있음 POST : 리소스가 명시하는 행동의 결과가 메시지 바디에 들어있음 PUT : 200 OK (수정 완료) / 201 Created (수정할 개체가 없어 새로 업로드) DELETE : 200 OK (삭제 완료) / 204..

category_image
인파_
2023.01.03
(0)
개발 지식/HTTP 지식

🌐 1XX (Informational) 상태 코드 - 총정리 모음

1XX Informational 1xx 번대의 상태 코드들은 요청이 수신되어 처리 중이라는 의미를 가진다. 다만 협업에서도 잘 사용되지 않는 상태코드이기 때문에 깊게 다뤄지는 편은 아니다. + 103 Early Hints 추가 100 Continue Continue ⇢ 처리가 되었으니 다음으로 진행하라는 응답코드 클라이언트가 서버에 본문을 전송하기 전에, 서버가 받아들일 것인지 확인하려고 할 때 그 확인 작업을 최적화하기 위한 의도로 도입된 것 100 응답을 받기위해선 클라이언트에서 expect 헤더를 넣어줘야 함 📍 100 상태코드 흐름 예시 클라이언트 : 서버에게 expect 헤더를 포함해 POST 요청을 보냄 서버 : 100 Continue 를 응답함 (만일 에러가 발생한다면 417로 응답) 서버 ..

category_image
인파_
2023.01.02
(0)
개발 지식/CS 지식

👨‍💻 쉽게 이해하는 Authentication vs Authorization 차이

Authentication / Authorization 차이점 보통 우리가 '권한' 이라고 불리우는 것엔 인증(Authentication)과 인가/승인(Authorization) 두가지 단어가 존재하는데, 인증(Authentication) 과 인가/승인(Authorization)은 비슷해 보이지만 엄연한 차이가 존재한다. 인증(Authentication) : 본인이 누구인지 확인 (로그인) 승인(Authorization) : 특정 리소스에 권한이 있는지 확인 (등급 권한) 인증 (Authentication) 인가 (Authorization) 기능 자격 증명 확인 권한 허가/거부 진행 방식 비밀번호, 생체인식, 일회용 핀 또는 앱 보안 팀에서 관리하는 설정 사용 사용자가 볼 수 있는가? 예 아니오 사용자가..

category_image
인파_
2022.12.30
(0)
개발 지식/HTTP 지식

🌐 웹 서버 HTTP Redirection 선택 전략 지침

웹서버 리다이렉션 전략 지침 3XX 상태 코드는 단순히 숫자의 의미를 떠나서 브라우저를 하여금 페이지 이동 행위를 하게 하기 때문에, 언제 어느때에 서버가 클라이언트에게 무슨 상태 코드를 보내서 적절하게 리다이렉션을 요구할지에 대해 전략 지침이 필요하다. 만일 올바르지 않은 리다이렉션을 할 경우 홈페이지에 대한 사이트 랭크나 SEO 점수에 영향이 갈 수 있다. 따라서 웹 서버에서 3XX 상태 코드를 사용하여 요청을 리다이렉트할 필요성이 있을 경우, 어느 상황에 어느 리다이렉트 상태 코드를 사용할지에 대한 간단한 전략 지침을 소개해 본다. 1. 영구히 리소스가 옮겨진 경우 도메인을 변경하거나 등 기존 사이트가 완전히 새로운 위치로 옮길 경우 301 Moved Permanetly 사용 (영구 리다이렉트) 2..

category_image
인파_
2022.12.29
(0)
개발 지식/HTTP 지식

🌐 웹 브라우저의 Cookie 헤더 다루기

웹 브라우저의 Cookie 란? 웹브라우저에서 쿠키(Cookie)란 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각으로, key=value 형식의 문자열 데이터 묶음이다. 브라우저는 이 문자열 데이터 조각들을 저장해놓았다가 동일한 서버에 재 요청시 쿠키 데이터를 전송할 수 있다. HTTP 프로토콜은 기본적으로 Stateless 한 속성을 가지고 있기 때문에, 서버와 클라이언트 간의 연결 유지를 구현하기 위해서 서로를 인식할수 있는 식별 d데이터가 필요해졌고 그것이 쿠키 데이터 조각이라고 보면 된다. 쿠키의 어원은 1994년, 넷스케이프 개발자 루이 J. 몬툴리(Louis J. Montulli)가 고안했는데, 유닉스 프로그래머들이 프로그램 수신 후 변경하지 않고 반환하는 데이터의 패킷을 '매직 쿠..

category_image
인파_
2022.12.28
(0)
개발 지식/HTTP 지식

🌐 웹 브라우저의 Cache 전략 & 헤더 다루기

웹브라우저의 캐시(Cache) 원리 컴퓨터 운영체제에서의 캐시(Cache)는 주기억장치에서 자주 사용하는 프로그램과 데이터를 하드디스크로부터 가져오는데 시간이 많이 걸리니 캐시 저장소에 임시로 적재해두고 빠르게 접근하기 위한 기술이다. 캐시는 비단 컴퓨터 OS에만 국한된 기술이 아니다. 임시 저장소에 적재해놓고 빠르게 엑세스함으로써 처리 성능을 높인다는 개념 자체는 어디에든 적용이 가능하다. 이는 인터넷(Internet)에서도 적용된다. 웹브라우저는 서버와 HTTP 프로토콜을 통해 리소스를 서버에게 요청을 하여 가져오고 이를 사용자에게 리소스를 화면으로 보여주거나 제공한다. 이러한 통신 과정을 거치면서 클라이언트는 네트워크를 거치는 시간이 소비되며, 서버는 요청을 처리하는데 시간이 소비된다. 만약 클라이..

category_image
인파_
2022.12.27
(0)
개발 지식/HTTP 지식

🌐 HTTP 콘텐츠 협상(Content Negotiation) 이해하기

HTTP 콘텐츠 협상 이란? 해외에서 서비스 되는 사이트 인데도, 한국에서 접속하면 컨텐츠를 한국어로 보여주고, 일본에서 접속하면 일본어로 자동으로 보여주는 것을 한번 쯤은 겪어봤을 것이다. 특별히 직접 사이트의 언어 지원 메뉴를 통해 설정하지 않았는데도 서버에서 스스로 파악하고 어떻게 해당되는 언어 페이지를 골라 표시해주는 것일까? 이것이 바로 클라이언트와 서버 간의 HTTP 콘텐츠 협상(Contents Negotiation)을 통해 이루어 지는 것이다. 콘텐츠 협상이란, 웹브라우저(user-agent)가 이용자에게 알맞는 형태의 리소스를 받을 수 있도록, 리소스를 어떤 형태로 받을지 정하는 메커니즘을 일컫는다. 이때 리소스의 형태는 문서의 언어나 이미지 포맷, 인코딩 등을 말한다. 콘텐츠 협상에는 대..

category_image
인파_
2022.12.26
(0)