본문 바로가기
교재 실습/자바 웹 개발 워크북

7. HTTP 프로토콜의 이해 (1)

by Jint 2022. 1. 2.

HTTP 프로토콜은 웹 브라우저와 웹 서버 사이의 데이터 통신 규칙이다.

HTTP 프로토콜

HTTP 프로토콜은 단순히 HTML 페이지나 이미지 파일을 전송하는 차원을 넘어 원격 컴퓨터에 로딩된 함수나 객체의 메소드를 호출할 때도 사용된다. 이 HTTP 프로토콜을 응용하거나 확장한 기술은 SOAP(Simple Object Access Protocol), RESTful(REpresentational State Transfer), webDAV(World Wide Web Distributed Authoring and Versioning), CalDAV 등이 있다.

 

구글 크롬의 DevTools를 사용하여 웹 브라우저와 웹 서버 사이에 주고받는 데이터를 살펴본다. 요청이나 응답을 처리할 때 참고하라고 알려주는 정보를 헤더라고 한다. 헤더에는 3가지 종류가 있다.

1. 일반 헤더(General-header) : 요청 및 응답 모두에 적용.

2. 요청/응답 헤더(Request-header/Response-header) : 요청 또는 응답 둘 중 하나에만 적용.

3. 엔티티 헤더(Entity-header) : 보내거나 받는 본문 데이터를 설명.

 

먼저 HTTP 요청에 대한 부분이다.

요청 헤더

:method:는 요청하는 자원에 대해 웹 서버에게 내리는 명령으로 GET, POST, HEAD, PUT, DELETE, TRACE, CONNECT, OPTIONS 등이 있다. user-agent는 클라이언트의 정보를 서버에게 알려주는 헤더로 요청자의 OS와 브라우저가 명시되어 있다. 

 

HTTP 응답에 대한 부분이다.

응답 헤더
일반 헤더

응답 헤더와 일반 헤더부분을 보면 Status Code는 HTTP 응답 상태 코드를 보여준다.

※ HTTP 응답 상태 코드

- 200 : 요청이 성공적으로 처리되었다.

- 301 : 요청한 자원이 이동되었다. 헤더 정보에 이동 위치를 알려줄테니 다시 요청하라.

- 304 : 클라이언트가 임시 보관함 응답결과와 다르지 않다.

- 400 : 잘못된 요청이다.

- 404 : 요청한 자원을 못 찾았다.

- 500 : 서버 내부에서 오류가 발생하였다.

content-type은 서버가 웹 브라우저에게 보내는 데이터의 형식을 나타낸다. 웹 브라우저는 이 헤더의 값을 보고 데이터를 출력할지, 다운로드 창을 띄울지, 외부 프로그램을 실행할지 결정한다.

 

이렇게 웹 브라우저와 웹 서버는 HTTP 형식에 맞추어 데이터를 주고 받는다. HTTP 프로토콜을 포함하여 HTML, CSS, XML 등 웹과 관련된 표준 명세는 World Wide Web 컨소시엄에서 관리하고 있다(www.w3.org).

 

참고도서 : https://freelec.co.kr/book/1674/

 

[열혈강의] 자바 웹 개발 워크북

[열혈강의] 자바 웹 개발 워크북

freelec.co.kr

댓글