[Java,자바] Servlet의 동작 원리

이대엽·2022년 9월 22일

개요

Server + let(접미사) = Servlet 서버의 작은 파편

  • 클라이언트 (웹 브라우저) 는 url을 통해 서버로 요청을 보낸다.
  • 서버는 받은 요청에 대한 알맞는 응답을 해주어야 한다.

요청(Request Header) 들여다 보기

요청 url: localhost:5555/hug.jpg

GET /hug.jpg HTTP/1.1
Host: localhost:5555
Connection: keep-alive
Cache-Control: max-age=0
sec-ch-ua: "Whale";v="3", " Not;A Brand";v="99", "Chromium";v="104"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.122 Whale/3.16.138.27 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate, br
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7

첫 번째 줄에 요청 방식(GET) 과 localhost 이후의 요청 주소 (hug.jpg) 정보가 담겨있다.

코드

byte[] mouth = new byte[2000];  // 입으로 쪼옥
	in.read(mouth); // InputStream in = socket.getInputStream();
for (byte param : mouth) {
    String str = Character.toString((char) param);
    System.out.print(str);
}

클라이언트가 보내준 요청에 담긴 두 가지 정보 [ GET , /hug.jpg ]
만 있으면 서버는 어떤 페이지를 보여주어야 할지(응답 , Response) 정할 수 있다.

profile
은갈치쉐이크

0개의 댓글