Web/네트워크(7)
-
[HTTP] HTTPS란?
[HTTP] HTTP / HTTPS란? 학습하는 웹 프로젝트에 HTTPS를 적용하기 위해 HTTPS를 먼저 알아보게 되었다. 기존 HTTP는 인터넷상에서 데이터를 주고받기 위한 프로토콜이었다. 해당 프로토콜은 웹 브라우저와 웹 서버 간의 통신에서 사용이 되며, 클라이언트(브라우저)가 서버에 요청(Request)을 보내면, 서버는 클라이언트에게 요청에 맞는 응답(Response)을 반환한다. 다만 이러한 요청과 응답을 주고받는 과정에 데이터 암호화와 같은 보안 기능이 없기에 정보 노출 및 데이터 보안성이 위험한 상황이 발생한다 이러한 문제점을 해결하기 위해 HTTPS가 등장하였다. HTTPS는 Hypertext Transfer Protocol Secure의 약어이다. HTTPS는 기존 HTTP에 보안적인 ..
2024.02.17 -
[Etc] Presigned URL이란
[Etc] Presigned URL 스프링 이미지 업로드를 구현하기 위해 구글링을 하다가 알게 되었다. 기존에 생각한 방법은 다음과 같다. 클라이언트가 서버에 MultipartFile을 보내면서 요청을 한다. 서버는 해당 이미지를 받아서 S3 버킷에 해당 이미지를 업로드한다. 기존의 경우에는 용량이 있는 파일을 과정 상으로 두 번 옮겨야한다. 다만 구글링을 통해 발견한 Presigned URL의 방식으로 사용하면 과정이 변하게 된다. 클라이언트는 서버에 이미지를 올리고 싶다는 요청을 전송한다. 서버는 해당 요청을 받게 되면 S3에 업로드 가능한 URL을 요청한다. S3는 서버에게 URL을 발급한다. 서버는 클라이언트에서 업로드 URL, 파일명을 지정한다. 클라이언트는 주어진 URL을 통해 S3에 바로 업..
2023.08.28 -
[Web 지식] IPv6 - Internet Protocol
IPv6 - Internet Protocol Internet Protocol의 최신 버전 각 기기들이 어떤 방식으로 네트워크에서 소통할 것인지 정의해 놓은 것 기존 IPv4를 대체하기 위해 만들어짐 IPv4의 경우 제한된 주소록의 공간과 이용 가능한 주소의 범위를 넘었기 때문 기존 IPv4의 32비트 주소 공간에 비해 IPv6의 경우 128비트 주소공간을 사용하여 더 많은 주소를 지원 무상태 주소 자동 구성을 지원하여 장치가 수동 구성이나 서버 없이도 IP 주소를 자동으로 얻을 수 있음 IPv4에서 IP 주소를 수동으로 설정하거나 네트워크 관리자로부터 부여받은 것에 비하면 큰 이점 단순하고 효율적인 헤더 구조를 사용하여 패킷의 처리 오버헤드를 줄이고 라우팅 성능 개선 플로 레이블링을 지원하여 실시간 통신..
2023.05.25 -
[REST API] REST API 설계
[REST API] REST API 설계 기존에 만든 개인 프로젝트 URI를 수정하기 위해 사이트의 URI를 검색해보고 조사하였다. 이전에 개인 프로젝트를 진행하면서 나름 규칙이나 연결 URI를 잘 작성하였다고 생각했는데 REST API의 URI에 관해 공부를 하고 강의를 들으면서 체크를 하니 고칠 점이 눈에 들어왔다. REST API REpresentational State Transfer - REST API의 기본 원칙 uniform interface : 통일성 있는 인터페이스를 통해 구성 요소의 동작의 향상 클라이언트와 서버간의 자원을 고유하게 식별 리소스는 서버 응답에서 일정한 응답을 가져와야 함 각 리소스는 해당 리소스의 처리방식에 대한 명세가 존재해야 함 클라이언트에는 각 응용 프로그램의 초기..
2022.12.22 -
[HTTP] PUT / PATCH 차이
[HTTP] PUT / PATCH 차이 업데이트에 관여하는 메서드는 두 가지가 존재한다. 그래서 해당 메서드가 왜 두 가지로 나눠져 있는지 무슨 차이가 있는지 공부를 하고 정리를 하려 한다. PUT PUT의 경우 리소스를 전체적으로 대체하는 것 만약 파일이 존재하는 상태로 복사 후 붙여 넣기를 하면 해당 파일이 덮어쓰기가 되는 것과 같이 PUT의 경우 전체를 대체하는 형식의 메서드이다. 다만 복사 붙여 넣기처럼 동일한 내용의 파일이 있으면 대체할 수도 있지만 만약 해당 내용이 존재하지 않으면 저장을 하는 것처럼 PUT도 저장이 가능하다. 이때 이러한 경우를 보면서 PUT은 리소스를 식별할 수 있다는 점을 알 수 있다. 요청한 URI에 해당 자원이 없다면 POST 방식처럼 해당 리소스를 저장을 한다. 20..
2022.12.22 -
[Basic] 인증, 인가
Spring에서 보안 쪽 개념을 한번 훑으면서 나왔던 키워드들을 정리해보려고 한다. 해당 부분은 웹에서도 관련이 있어서 일단은 웹 쪽으로 기록을 시작하게 되었다. 인증, 인가 인증 - authentication 식별이 가능한 정보로 서비스에 등록이 된 유저의 신원을 입증하는 과정 로그인 인가 - authorization 해당 유저가 특정 리소스 혹은 기능에 접근할 수 있는 권한이 있는지 확인하는 개념 로그인을 해야만 진행할 수 있는 기능, 이때 기능을 사용할 수 있는지에 대한 입증 웹 어플리케이션 특수성 웹 어플리케이션의 경우 HTTP라는 프로토콜을 사용하여 통신을 진행 비연결성(connectionless)과 무상태(stateless)로 이루어짐 비연결성 연결을 유지하지 않는 모델 초 단위 이하의 빠른 ..
2022.12.14