6월 셋째주 공부정리

2023. 6. 25. 18:06개발공부/Server공부

728x90

2023.06.19 ~ 2023.06.25

 

 

네트워크: 여러개의 장비나 컴퓨터가 서로 연결되어서 정보를 주고받을 수 있게 도와주는 기술
네트워크 프로토콜로 연결

 

서버 : 사용자가 요청했을 때 해당 요청에 대한 응답을 수행하는 프로그램

 

그리들 : 빌드 자동화 시스템, 우리가 작성한 자바코드를 설정에 맞게 빌드(jar파일을 만들어줌) 

 

빌드 : 우리가 만든 소스코드를 실행가능한 jar파일로 만드는 것

 

web server : http요청이 들어왔을 때 html과 같은 정적인 데이터 처리
mypage 와 같이 동적인 요청이 들어왔을 때 was에 요청을 전달

 

was(web application server) : (web container(servlet):동적 데이터 처리)

 

apache tomcat : web server 와 was 를 합쳐놓은 것 

 

spring boot: spring의 framework xml에 설정들을 안해줘도되 에너테이션 사용해 내장 아파치 톰캣

http request(method: get | path: /index.html)
http response(status:200 |  content-type : text/html; | charset=UTF-8)

incoding = 인코딩 = 코드화 = 암호화 = 부호화
: 컴퓨터에서 인코딩은 동영상이나 문자 인코딩 뿐 아니라 사람이 인지할 수 있는 형태의
데이터를 약속된 규칙에 의해 컴픁가 사용하는 0과1로 변환하는 과정을 통틀어 말합니다.
즉, 사람이 인지하지 못하고 컴퓨터가 이해할 수 있도록 바꿔주는 것을 의미한다. 그 예로 
'ASCII', 'URL인코딩', 'HTML인코딩', 'Base64인코딩' 등이 존재한다. 각각 컴퓨터가 이해할 
수 있는 언어로 바꿔주기 때문에 어떤 것을 중심으로 인코딩을 해야하는 지 명확하게 이해한 후 
인코딩을 진행해야 한다.

 decoding = 디코딩 = 역코드화 = 복호화
디코딩은 인코딩의 반대로서 사람이 이해 할 수 있도록 바꿔주는 것을 의미한다.

1. EAR(Enterprise Archive)
 하나의 웹 어플리케이션 단위를 넘어 실제 서버에서 배포하기 위한 단위입니다. 이를 위해서 jar와 war를 
묶어서 각각의 기능을 지원합니다

2. WAR(Web Archive)
웹 어플리케이션을 지원하기 위한 압축 방식입니다. 웹 어플리케이션을 지원하기 위해서 war압축방식은 
jsp, servlet, gif, html, jar 등을 압축하고 지원합니다.

3. JAR(Java Archive)
JAR는 여러 개의 자바 클래스 파일과 클래스들이 이용하는 관련 리소스 등 메타데이터를 하나의 파일로 
모아서 자바 플랫폼에 응용 소프트웨어나 라이브러리를 배포하기 위한 소프트웨어 패키지 파일 포맷입니다. 컴퓨터 사용자들은 JDK에 포함된 jar 명령러를 이용하여 jar파일을 만들거나 압축을 풀 수 있습니다.

사용 단위는 ear > war > jar > class입니다


element : 페이지를 보여주는 html

 

header : browser에서 server로 보내는 request데이터

 

status code : 

1XX : Information responses

2XX : Successful responses

3XX : Redirection messages

4XX : Client error responses

 

reponse header : server가 browser에게 보내는 데이터 

header (추가데이터, 메타데이터)
- 다양한 의사표현을 위한 데이터를 모두 header필드에 넣고 주고 받는다.
get,put,post등과 같은 메서드도 헤더에 포함되어 서버로 보내진다.

payload(데이터, 실제데이터)
 = http body=보내고 받을 데이터를 닮는 곳

 

bug : software가 예상하지 못한 결과를 내는 것

JUnit -> testcode

lombok : 프로젝트를 진행할 때 필요한 메서드나, 생성자등 자동으로 생성해주는 라이브러리

setter/getter :
 private로 선언된 필드에 접근해서 가지고오거나 값을 넣어줄때 public으로 풀려있는 메서드를 사용하는데


browser -> web server -> route -> dispatcher -> controller
spring mvc ->  frontcontroller패턴으로 설계된 dispatchservlet이 중앙에서 http요청을 처리해준다.

servelt 자바를 사용하여 웹페이즈를 동적으로 생성하는 서버 측 프로그램 혹은 그 사양을 말한다. 

cilent request-> (was= web container= tomcat = servlet)
               httpservletrequest,httpservletresponse 객체생성
                                         -> servlet(web.xml) 에서 요청받은 api분석->
                                          찾은 servlet->해당 서비스 method실행
              동적페이지 생성 or httpservletresponse객체에 데이터 담아서 -> cilent response


dispatcherservlet->  frontcontroller방식으로 api분석 
                      -> handlermapping으로 controller찾아 요청전달

handlermapping-> apipath와 controller메서드가 매칭
ex) GET/api/hello ->HelloController의 hello()함수 || @GetMapping("/api/hello")

728x90

'개발공부 > Server공부' 카테고리의 다른 글

Ssh와 SSH Tunneling  (0) 2024.12.22
Port 사용 "확인" 및 "종료" 하기  (0) 2023.06.29