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 정보로 웹서버에서 클라이언트가 요청한 문서를 찾아 실행한 후 결과를 또는 그 파일 자체를 클라이언트에 응답한다.
'Backend > JSP & Servlet' 카테고리의 다른 글
[Servlet] HttpServletRequest와 HttpServletResponse 객체 생성과 삭제 구조 (1) | 2023.11.28 |
---|---|
[Servlet] Servlet 실행 방법 / @WebServlet (1) | 2023.11.25 |
[Servlet] Dynamic Web Project 시작 / Build Path / web.xml .. (1) | 2023.11.23 |
[Servlet] Servlet, Servlet Container, JSP 란 ? (0) | 2023.11.22 |