공부/네트워크(8)
-
[Network] 주로 보게되는 HTTP 상태 코드
클라이언트가 서버에게 요청(Request)를 보내면 서버는 그 요청을 받아 응답(Response)한다. 숫자로 된 상태 코드와 함께 클라이언트 쪽에 서버의 응답이 오는데, 보통은 200(성공)과 404(실패)로 나눌 수 있으며 주요 상태 코드는 100번대부터 500번대까지 다양하게 존재한다. 다양한 오류를 모두 경험해보는 그 날까지...고고 * 1xx - 조건부 응답 클라이언트가 데이터를 일부만 포함해 보내어, 서버가 데이터를 더 보내라고 하는 의미의 응답 코드 * 2xx - 성공 GET 요청에 대해 성공하면 200번대의 상태 코드로 돌아온다. * 3xx - 리다이렉션 300번대는 클라가 이전 주소로 데이터를 요청하여 서버에서 새 URL로 리다이렉트를 유도하는 경우이다. 클라에서는 요청을 마치기 위한 추..
2022.08.04 -
[Rest API] Cloudinary에서 제공하는 API를 이용해서 이미지 업로드하는 법
유저의 회원 정보를 받는 작업들을 하며 이미지 데이터 처리에 대한 궁금증이 있었다. 찾아보니 클라우디를 이용해서 이미지를 서버에 저장하지 않고 storage에 따로 저장할 수 있었고 특히 이 서비스가 미디어를 디바이스와 채널에 맞게 최적화할 수 있다는 장점이 있어 많이 쓰이고 있다는 것을 알게되었다. Cloudinary - 사용자 이미지 업로드, 저장, 관리 기능을 제공해주는 SaaS 업체 - 사진의 Resizing & Transformation 기능 지원 - Filtering 적용 기능 지원 공식 문서를 살펴보면 사용법은 아래와 같다. If you want to implement your own upload functionality, Cloudinary provides a secure and compr..
2022.06.20 -
[Servlet] 도메인을 가진 웹서버 만들기
최초 접속자가 브라우저에 접속하면 init이 실행되며(최초 1회) 서버 주소가 만들어진다. 한번 만들어진 서버 주소는 이후 접속하는 사람들에게 뿌려진다. 서버 종료 시 destroy를 실행한다.
2022.04.13 -
[Network] WAS(Web Application Server)
주로 데이터베이스 서버와 같이 수행되는 미들웨어로, 복잡한 분산 시스템에서 이 기종 간에 통신 및 데이터 관리가 가능하도록 해준다. 웹 서버만으로 단독으로 처리할 수 없는 DB 조회와 비즈니스 로직 처리와 같은 동적 데이터 처리를 담당한다. JSP, Servlet 구동 환경을 제공해주기 때문에 JSP를 통해 Java언어로 SQL문을 제어하고 DB에 접근할 수 있다. package com.ict.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Scanner; public class JDBC { public stat..
2022.03.31 -
[Network] Cookie와 Session
쿠키는 사용자가 방문한 웹사이트에서 사용자의 브라우저에 전송하는 작은 텍스트 조각이다. key(쿠키이름)-value(쿠키값) 쌍으로 이루어져 있는 쿠키는 사이트를 방문한 사용자 웹 브라우저의 내부 저장소에 저장된다. HTTP 통신의 특성 상 웹 브라우저가 서버에 request하면 서버는 요청에 response하고 연결이 끊어지지만, 발급된 쿠키는 지정한 만료 시간까지 클라이언트의 로컬 저장소에 저장이 되어있다. 쿠키가 있으면 로그인한 사용자가 브라우저를 끄더라도, 쿠키의 만료 시간만큼 사용자의 로그인 상태를 유지할 수 있다. 쿠키는 사용자가 삭제할 수 있고, HTTPS가 아닌 HTTP 프로토콜을 사용하는 경우 외부인이 중간에서 쿠키의 값을 가로챌 수 있지만 서버를 여러개 쓰더라도 쿠키값을 공유할 수 있는..
2022.03.30 -
[Network] Http methods : GET과 POST
사용자가 URL을 입력하면 웹 클라이언트가 웹 서버에게 URL을 요청하고, 웹 서버는 화면 구성에 필요한 파일을 전달한다. 이 웹 서버는 비대해질 시 WAS(JSP)와 프론트(HTML, CSS, JS) 서버로 분리된다. 이벤트가 발생되면 클라이언트는 필요한 시점에 백엔드 서버에게 API를 요청한다. API는 DB와 통신한 후 적절한 정보를 클라에게 응답한다. HTTP Method로 API 통신을 할 수 있다는 것은 알겠는데, CRUD의 관점에서 Create에 해당하는 메소드가 GET, Read에 해당하는 메소드가 POST인 것도 알겠는데.. 언제 GET을 쓰고 언제 POST를 써야하지?라고 생각해보면 답을 낼 수가 없었다. 앞으로 더 알아가봐야겠지만, 수업 내용을 나름의 스토리를 붙여 정리해본 것이 아래..
2022.03.29