상세 컨텐츠

본문 제목

[Servlet] HTTP, 요청 방식, 프로토콜

Backend/JSP & Servlet

by hyeminyy 2023. 11. 22. 23:42

본문

728x90

참고 : 처음 해보는 Servelt&JSP웹프로그래밍

 

HTTP 란 ?

- Hyper Text Transfer Protocol 의 약어로, TCP/IP 4계층에서 애플리케이션 계층에 해당하는 프로토콜이다.

- 전송 계층에서 TCP를 사용하여 웹 브라우저와 서버 간에 통신하는 프로토콜이다.

 - HTTP는 웹 브라우저와 웹서버가 통신(요청, 응답)할 때 서로 약속된 요청, 응답 메시지를 주고 받으며 통신이 이루어진다.

 - 신뢰성 있는 통신과 처리 효율이 높은 프로토콜로서 인터넷 환경에서 가장 적합한 통신 구조이다.

 

HTTP 요청 정보

 - 웹 클라이언트가 웹서버에 서비스를 요청하면 HTTP에 의하여 자동으로 만들어져 서비스를 요청받는 웹서버에 전달된다.

웹 클라이언트가 서비스를 요청한다는 것은 웹 브라우저 주소줄에 URL을 입력한 후 Enter 키를 누르거나 웹 브라우저 화면의 링크 또는 버튼을 클릭하는 동작을 말한다.

요청 줄 요청 방식            URL                 HTTP버전 GET /test/index.html HTTP/1.1
헤더 name : content name : content
몸체    

요청 줄 : 요청 방식, URL, HTTP버전의 정보

헤더 : name : content 형식으로 정보들이 들어가고, 서비스 처리를 위한 웹 클라이언트와 웹서버 간에 공유할 정보들

몸체 : 웹 클라이언트가 웹서버에 보내는 데이터가 들어가는 메시지

 

HTTP 요청방식

 - 웹 클라이언트가 웹서버에 요청하는 서비스 처리 방식을 지정하는 것으로 GET, POST, PUT, DELETE 등이 있다.

 

GET 

 - 서비스를 요청하는 경우의 웹브라우저의 주소 줄에 URL을 직접 입력하거나 하이퍼링크가 포함된 개체를 클릭할 때

 - 직접 GET 방식을 지정하여 서비스를 요청할 수도 있다.

 - 브라우저에 캐시(cache)가 가능하며 클라이언트가 서버로 전송하는 문자열이 있을 때는 요청정보 헤더의 요청 줄에 포함되는 URL 뒤에 ? 기호와 함께 추가되어 전달

 - 헤더에 포함되므로 클라이언트에서 서버로 보내는 모든 문자열 정보들이 웹 브라우저에 노출된다.

 - 전달되는 문자열의 크키에 제한이 있다.

 - 가장 단순한 요청 방식으로 서버에 빠른 속도로 요청할 때 사용한다.

 

POST

 - 데이터가 HTTP 요청정보의 몸체에 포함되어 전달

 - 데이터의 크기에 제한이 없고, 화면에 노출되지 않는다.

 - 웹 클라이언트 측에서 보내는 데이터를 인코딩, 서버 측에서 디코딩

 - GET 보다 상대적으로 처리속도가 느리다.

 - 주로 서버 측의 정보를 새로 생성하는 작업에 사용

 

PUT

 - 파일 업로드 할 때 이용

 - 서버의 리소스를 새로 생성할 때 (create or insert)는 POST 방식으로, 서버의 리소스를 수정(update)할 때는 PUT 방식을 사용

 

DELETE

 - 서버의 리소스를 삭제하는 작업을 요청할 때 사용

 

OPTIONS

 - 요청 URL에 대하여 허용되는 통신 옵션을 알고자 할 때 사용하는 방식

 

HEAD

 - GET 방식과 같으나 요청정보의 몸체 없이 헤더 정보만 요청하는 방식

 - 해당 자원이 존재하는지 , 서버에 문제가 있는지를 확인

 

TRACE

 - 웹 클라이언트의 요청을 그대로 반환하는 방식으로 요청 정보가 웹 서버에 도달하기까지의 경로를 기록

 -  ECHO 서비스로 서버 상태를 확인하기 위한 목적으로 사용된다.

 

요청 URL

 - 웹 클라이언트가 웹서버에 요청한 서비스 문서의 정보

 - 네트워크의 자원 정보인 URL의 일부로서 URL(Uniform Resource Locator)은 네트워크상에 존재하는 자원을 찾아가기 위한 정보입니다.

프로토콜 서버주소 포트번호 서버자원정보

 

프로토콜 (protocol)

 - 서버와 통신하기 위한 규약으로 서버마다 사용하는 프로토콜이 정해져 있다.

 - 웹서버 : HTTP://

 - 오라클 : jdbc:oracle:thin:@

 

서버 주소

 - 네트워크 상에서 연결된 컴퓨터를 찾아가기 위한 정보로, IP주소 또는 도메인 이름으로 표현

 - 서버가 동작하고 있는 컴퓨터 정보

 

포트 번호

 - URL에서 서버 주소를 이용해 컴퓨터를 찾았다면 포트 번호는 컴퓨터에서 동작하고 있는 서버로 접속하기 위한 정보

 - 0 ~ 65,535번까지 사용 가능

 - 0 ~ 1,023 사이의 번호는 well-known port로서 이미 사용이 정의되어 있다.

 

URI (Uniform Resource Identifer)

 - 서버에서 서비스하는 서버의 자원 정보

 - URL에서 포트번호 다음부터가 URI

 

ex) http://www.mysite.com:80/edu/index.html  

 

www.mysite.com 을 이용해 컴퓨터를 찾아오고, 다음 정보인 80을 이용해 서버를 찾아온다. 

80 정보 다음부터가 접속한 서버에서 제공하는 자원정보로서 이것을 URI라고 한다.

 - URI 정보로 웹서버에서 클라이언트가 요청한 문서를 찾아 실행한 후 결과를 또는 그 파일 자체를 클라이언트에 응답한다.

 

728x90

관련글 더보기