카테고리 없음

[Java,JavaScript] Server/Client 개념

끄적잉 2023. 5. 25. 23:44
반응형

Server와 Client에 대해 항상 까먹고 궁금점이 자주 생겨서 찾아보던 중 간단, 명료하게 쓰여진 좋은 글을 발견해 퍼왔습니다. 저와 같이 궁금증이 있으신 분들은 이분의 블로그를 꼭 들어가 보기를 바랍니다.

 

 

 

Web <== 통신 ==> Java <== 통신 ==> DB 

 

 


server :

: 클라이언트의 요청에 따라 웹 페이지를 가져오거나 데이터를 가져오는 등의 응답을 보내는 역할 수행

 

- WAS : Web Application Syetem - 웹 서버 안에 들어가있음

 

*server + container

- Server는 크게 server와 container로 구성되어 있다.

- container는 session과 folder를 가지고 있음(파일 저장용)

- server 는 Client의 요청을 받아(request) 필요한 데이터를 전송(response)하는 역할을 수행한다

- server에는 JSP  Servlet 이 있다 ( 같은 기능을 수행하며, 돌아가는 프로그램 및 언어가 다르다)

 ( Servlet : java / JSP : javaScript )

 

 

* Servlet &  JSP

: Servlet과 JSP는 같은 역할을 수행하지만 (클라이언트의 요청사항을 받아 데이터 가공 및 처리),

  구현 방식에 차이가 있다.

Servlet JSP
Java -> HTML HTML -> java
Business Logic을 짜거나 DB와 통신할 때 좋다 화면 구성이 용이하다
Controller(MVC) 로 사용하기 좋음 (data processing) View(MVC)로 사용하기 좋음
Servlet이 수정된 경우, Java 코드를 컴파일(.class 파일 생성)한 후 동적인 페이지를 처리하기 때문에 전체 코드를 업데이트 및 재컴파일한 후 재배포 작업이 필요 (개발 생산성 저하) JSP가 수정된 경우 재배포할 필요가 없이 WAS가 알아서 처리 (쉬운 배포)
웹 개발을 위한 표준이 존재함 Servlet를 보완하고 기술을 확장한 스크립트 방식 표준
(Servlet의 모든 기능 + 추가적인 기능)

참고 사이트 : https://gmlwjd9405.github.io/2018/11/04/servlet-vs-jsp.html

 

[Web] Servlet과 JSP의 차이와 관계 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

 

* Servlet : 클라이언트와 서버의 요청과 응답의 순서 알아보기


- client에서 request(요청)이 들어옴
- 요청이 들어오면 서버에서 container 에 들어있는 html코드를 찾는다
- 찾은 코드를 다시 client에게 보내줌 (response)
- server안에 servlet, jsp 내장되어있음
servlet / JSP 은 client의 요청을 해석하는 역할 
- sever는 2가지 방식으로 나뉘어져 있음 (접근영역이 달라짐) 

  ( GET / POST )
- client에서 server로 요청은 url 또는 링크로 전송한다 
- 현재 프로젝트를 확인하는 방식 : (주소창) localhost (또는) IPv4 :portnum/project

 

 

 

 

* Servlet

 : Server + Applet

 ( ※ Node.js : Web <==통신==> DB, 자바없이 바로 웹에서 디비와 통신하는 방식 )

 

< 방식 >

 

          Web Browser(client)            web Application Server(=System) = WAS

                                                       (Servlet: *.html, *.jsp, *.php)

        client <---- request(요청)------ > Web (Server + Container)  <-(MyBatis)->  DB

    

 

* request :  http://x.x.x.x:8090/project명/index.html 

     - url예시, 일반적으로 도메인네임 사용

     - index라는 이름으로 자동적으로 접속이 됨  ( web.xml 에서 자동 설정된 경우)

 

* web.xml

     -  web.xml : server(WAS)가 동작했을 때 자동 초기화되고 세팅되는 데이터

     -  link (<a>태그 등으로 설정)로 만들 수 있음

 

* get /post방식

     - get : 넘어가는 데이터가 링크에 보이도록 하는 방식, 가벼움 (255바이트까지만 가능)

     - post : 넘어가는 데이터가 보안이 적용되어 감추어지는 방식 (로그인 화면 등에서 사용)

     - client 쪽에서 method 방식을 설정한다 ( form태그의 method 프로퍼티를 설정 )

 

참조 : https://sunnnkim.tistory.com/212

 

Servlet : Server와 Client, Sevlet의 개념

Web Java DB server : : 클라이언트의 요청에 따라 웹 페이지를 가져오거나 데이터를 가져오는 등의 응답을 보내는 역할 수행 - WAS : Web Application Syetem - 웹 서버 안에 들어가있음 *server + container - Server

sunnnkim.tistory.com

 

반응형