2023. 6. 25. 18:06ㆍ개발공부/Server공부
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")
'개발공부 > Server공부' 카테고리의 다른 글
Ssh와 SSH Tunneling (0) | 2024.12.22 |
---|---|
Port 사용 "확인" 및 "종료" 하기 (0) | 2023.06.29 |