10개 프로젝트 자바스프링

0226

Laftel 2023. 2. 26. 13:51
반응형

 

 

 

Step1 - 사용자 요청을 메인 Thread가 처리하도록 한다.

Step2 - 사용자 요청이 들어올 때마다 Thread를 새로 생성해서 사용자 요청을 처리 하도록 한다.

Step3 - Thread Pool을 적용해 안정적인 서비스가 가능하도록 한다.

다음 시간에 위의 요구사항을 토대로 계산기 프로그램을 만들어볼 예정이다.

그 전에 먼저 HTTP에 대해 알아보면 다음과 같다.

HTTP

• 서버와 클라이언트가 웹에서 데이터를 주고받기 위한 프로토콜(규약)

• HTTP/1.1 , HTTP/2는 TCP 기반 위에서 동작하고 HTTP/3는 UDP 기반 위에서 동작한다.

클라이언트-서버 모델

무상태 프로토콜(Stateless)

• 서버가 클라이언트 상태를 유지하지 않음

• 해결책 : Keep-Alive 속성 사용

-> HTTP/1.1부터는 이미 연결되어 있는 TCP 연결을 재사용하는 Keep-Alive라는 기능을 Default로 지원한다.

즉 Handshake 과정이 생략되므로 성능 향상을 기대 할 수 있다.

 

비 연결성(Connectionless)

• 서버가 클라이언트 요청에 대해 응답을 마치면 맺었던 연결을 끊어 버림

• 해결책 : 쿠키(클라이언트에 정보 저장), 세션(서버에 정보 저장), JWT 개발 환경 구축

HTTP 요청 메소드

• GET, POST, PUT, DELETE 등

GET

-> URI(URL)이 가진 정보를 검색하기 위해 서버측에 요청하는 형태.

보통 리소스를 조회할 때 사용하며, 서버에 전달하고 싶은 데이터는 query를 통해서 전달한다.

메시지 바디를 사용해서 데이터를 전달할 수는 있지만, 지원하지 않는 곳이 많아서 권장하지 않는다.

POST

-> 데이터 요청을 처리하고, 메시지 바디를 통해 서버로 데이터를 전달한다.

요청 URI(URL)에 양식 입력을 처리하기 위해 구성한 서버측 스크립트(ASP, PHP, JSP 등) 혹은 CGI 프로그램으로 구성되고 Form Action과 함께 전송되는데, 이 때 헤더 정보에 포함되지 않고 데이터 부분에 요청 정보가 들어가게 된다.

PUT

-> 리소스가 있으면 대체하고 리소스가 없으면 생성한다.

POST 처럼 정보를 서버로 제출하는 것이지만 덮어쓴다고 보면 쉽다.

DELETE

-> 웹 리소스를 제거할 때 사용한다.

 

HTTP 응답 코드

• 2xx(성공), 3xx(리다이렉션), 4xx(클라이언트 에러), 5xx(서버 에러) 등

HTTP 헤더

• Content-type, Accept, Cookie, Set-Cookie, Authorization

 

 

 

 

#패스트캠퍼스 #패캠챌린지 #수강료0원챌린지 #직장인인강 #직장인자기계발
#패캠인강후기 #패스트캠퍼스후기 #환급챌린지 #오공완 #10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 초격차 패키지 Online.

 필수 링크 : http://bit.ly/3Y34pE0

반응형

'10개 프로젝트 자바스프링' 카테고리의 다른 글

0228  (0) 2023.02.28
0227 10개 프로젝트로 완성하는 백엔드 웹개발 8회  (0) 2023.02.27
0225  (0) 2023.02.25
0224  (0) 2023.02.24
10개 프로젝트로 완성하는 백엔드 웹개발 4회  (0) 2023.02.23