전체 글39 [HTTP 완벽 가이드] 12장 기본 인증 인증웹 접근 시 HTTP 요청 메시지를 받으면, 서버는 요청을 처리할 때 사용자가 누구인지 파악하기 위한 '인증 요구'를 한다. 그리고 사용자가 인증 정보를 첨부해서 보내고 이 정보가 맞다면 요청을 문제없이 처리하는 과정을 거친다.HTTP에는 기본 인증과 다이제스트 인증이라는 인증 프로토콜이 있다. 그 중 기본 인증은 가장 잘 알려진 HTTP 인증 규약이며, 거의 모든 주요 클라이언트와 서버에 기본 인증이 구현되어 있다. 기본 인증에서 웹 서버는 클라이언트의 요청을 401 상태 코드와 함께 거부하고 사용자 정보를 요구할 수 있다. 클라이언트가 접근하려고 했던 보안 영역을 WWW-Authenticate에 기술해서 인증 요구를 시작한다. 그리고 클라이언트는 사용자 이름과 비밀번호를 Authorization .. 2025. 1. 2. [HTTP 완벽 가이드] 11장 클라이언트 식별과 쿠키 사용자를 식별하는 방법클라이언트의 IP 주소 활용만약 사용자가 확실한 IP 주소를 가지고 있고 그 주소가 바뀌지 않는다면 문제없이 동작하지만, 여러 약점을 가지고 있다. 먼저 사용자 자체를 가리킨다기 보다는 사용하는 컴퓨터를 가리키는 것이기 때문에 여러 사용자가 같은 컴퓨터를 사용한다면 식별이 불가하다. 또한 많은 ISP가 사용자가 로그인했을 때 동적으로 IP 주소를 할당하기 때문에 사용자는 매번 다른 주소를 받게 되어 웹 서버가 사용자를 식별하지 못할 수 있다. 그 외에도 프락시 서버로 인한 경우이거나 실제 IP 주소를 방화벽 뒤로 숨기게 되는 경우 등으로 인해 IP 주소를 활용하는 것이 적절하지 않을 수 있다.사용자 로그인사용자 이름과 비밀번호 인증을 통해 명시적으로 사용자에게 식별을 요청할 수 있다.. 2025. 1. 2. [HTTP 완벽 가이드] 10장 HTTP/2.0 HTTP/2.0의 등장 배경HTTP/1.1에서 병렬 커넥션이나 파이프라인 커넥션이 도입되었지만 성능 개선에 대한 근본적인 해결책이 되지 못했음. 구글에서 2009년 SPDY 프로토콜을 통해 헤더를 압축하거나 하나의 TCP 커넥션에 여러 요청을 동시에 보냄으로써 회전 지연을 줄이고자 했다. 그리고 2012년 SPDY를 기반으로 HTTP/2.0의 초안을 만들게 되었다.HTTP/2.0TCP 커넥션 위에서 동작하며, 스트림을 통해 보내진다. HTTP/2.0은 스트림에 대한 프름 제어와 우선순위 부여 기능을 제공한다. 또한 서버푸시를 도입했는데, 서버가 클라이언트에서 필요하다고 생각하는 리소스라고 판단하는 경우, 클라이언트가 요청을 하지 않더라도 능동적으로 클라이언트에게 리소스를 보내는 것을 의미한다. 그러면서도.. 2025. 1. 2. [HTTP 완벽 가이드] 9.3~9.4.6 부적절하게 동작하는 로봇과 로봇 차단 방법 9.3 부적절하게 동작하는 로봇들9.3절에서는 부적절하게 동작하는 로봇들에 대해 소개하고 있다.[부적절한 동작 예시]- 폭주하는 로봇 : 논리적인 에러를 갖고 있거나 순환에 빠지는 경우. 웹 서버에 극심한 부하를 일으켜 서비스 사용을 못하게 만들 수 있음- 오래된 URL : URL 목록 방문 시 목록이 오래 되었다면 존재하지 않는 URL에 대해 요청을 보내게 될 수 있음.- 길고 잘못된 URL : 순환이나 프로그래밍상의 오류로 인해 길고 잘못된 URL을 요청하여, 웹 서버의 처리 능력에 영향을 줄 수 있음- 호기심이 지나친 로봇 : 사적인 데이터에 대한 URL에 접근하는 경우- 동적 게이트웨이 접근 : 게이트웨이 애플리케이션의 콘텐츠에 대한 URL로 접근하는 경우9.4~9.4.6 로봇 차단하기웹 서버가 .. 2024. 12. 24. [항해플러스] 프론트엔드 3기 장단점 솔직 후기 나는 어떤 개발자?경영학과를 전공한 후 MD를 하다가 퇴사 후 부트캠프를 수료했다. 이후 아이 교육 서비스를 하는 회사에 입사하여 3년 차 프론트엔드 개발자로 근무 중이다. 회사에서는 유일한 프론트로서 백오피스를 포함하여 웹 개발이 필요한 모든 서비스의 프론트 개발을 담당하고 있는데, 아무래도 혼자 개발을 하다 보니 라이브러리 및 프레임워크 선택부터 개발/테스트까지 모든 과정에서 항상 무엇을 선택하고 어떻게 개발해야 하는지에 대한 끊임없는 고민을 하고 있다.항해 플러스 지원계기지난 2년 동안 꾸준히 스터디를 운영해 왔는데, 차근차근 실력이 늘고 있다는 생각은 들었지만 시간이 어느 정도 지나고 나니 스스로 잘하고 있는 지를 점검하고 싶었다. 내가 짠 코드들이 과연 건강한 코드인지, 개발을 할 때 어떤 구.. 2024. 10. 22. [항해플러스] 클린코드 (진짜진짜 더러운 코드 개선하기) 이번 주 과제굉장히 더럽고 더럽고 더럽고 더럽고 더러운 코드를 개선하는 게 이번주의 과제였다. javsacript로 1차 개선한 후 개선된 코드에 2차로 react + typescript를 입히면 되는 과제였다. 말만 들으면 '개선' 및 기존 기능 테스트 통과라는 것 외에 크게 요구사항이 없기 때문에 처음에는 이전 과제들에 비해할 만하겠다!라고 생각했지만, 일주일이 지나고 나니 그 어떤 주차보다 시간이 부족하고 어려웠던 주차였다. PR을 올려주신 다른 분들의 리뷰도 봤을 때 전반적으로 다들 비슷한 생각이신 것 같았다.평일 QA 때 어쩌다 보니 이런저런 질문들을 많이 드리면서 코치님께 '개선 전 코드는 어떻게 만드셨나요?'라고 여쭤봤는데, 의외로 AI는 덜 더럽게 만들어줘서 손수 더럽게 만들어주셨다고 했다.. 2024. 10. 18. 이전 1 2 3 4 ··· 7 다음 반응형