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
'교재 실습 > 자바 웹 개발 워크북' 카테고리의 다른 글
9. GET 요청 (0) | 2022.01.04 |
---|---|
8. HTTP 프로토콜의 이해 (2) (0) | 2022.01.03 |
6. 웹 애플리케이션 아키텍처의 특징 (1) | 2022.01.01 |
5. 클라이언트·서버 아키텍처의 진화 (0) | 2021.12.30 |
4. 다중 클라이언트의 요청 처리 (1) | 2021.12.29 |
댓글