티스토리 뷰
📕 제 2장 웹 프로그래밍 기초 다지기
1-3. HTTP 요청
(1) 요청 라인(Request-Line)
- 요청 메시지의 첫 라인에는 메서드와 요청하는 자원, 프로토콜 버전으로 구성된다
1-1. 메서드
- 요청하는 자원에 대해 웹 서버에게 내리는 명령
- 메서드에는 GET, POST, HEAD, PUT, DELETE, TRACE, CONNECT, OPTIONS 등이 있다
1-2. 요청 URI
- HTML 파일이나 이미지, 동영상 등이 있는 가상의 경로를 의미한다
- 웹 서버는 식별자인 요청 URI를 이용해 필요한 자원을 찾는다
- 이미지에는 기본문서를 의미하는 / 를 작성했지만, 자원을 요청하는 경우 경로를 명시한다 (예) /img/test.jpg
1-3. HTTP버전
- HTTP버전은 요청 정보가 어떤 버전에 맞추어 작성되었는지 웹 서버에게 알려주는데 사용된다
(2) 요청 헤더(Request-Header)
- 서버가 요청을 처리할 때 참고하라고 클라이언트에서 웹 서버에게 알려주는 정보를 헤더라고 한다
2.1 일반 헤더(General-header) : 요청이나 응답에 모두 적용
2.2 요청 헤더(Request-header) : 요청에만 적용
- User-Agent : 클라이언트의 정보를 서버에 알려주는 서버
- 웹 서버는 User-Agent를 분석하여 요청자의 OS와 브라우저를 구분한다
2.3 응답 헤더(Respose-header) : 응답에만 적용
2.4 엔티티 헤더(Entity-header) : 본문 데이터를 설명
(3) 공백 라인과 요청 데이터(message-body)
- HTTP 요청 내용 중, 마지막 라인은 헤더의 끝을 표시하는 공백 라인이다
- 웹 브라우저의 주소창에 URL을 입력하거나 링크를 클릭하는 경우는 GET 요청을 서버에 보낸다
- GET 요청을 할 때, 서버에 보낼 데이터가 있다면 쿼리 스트링의 형태로 URL 주소에 붙여 보낸다
- 반면 로그인이나 게시글을 등록하는 것처럼 전송할 데이터가 많은 경우는 POST 요청을 사용한다.
- POST 요청은 공백 라인 다음에 서버에 보낼 데이터(message-body)가 온다
(4) HTTP 요청 정리
# 요청라인(메서드, 요청 URI, HTTP 버전, 개행문자) → GET메서드, / , HTTP 1.1버전
GET / HTTP/1.1
# 요청 헤더
Host: www.daum. net # 웹 브라우저
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,1 mage/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) # 헤더 이름 : 헤더 값
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
Accept-Encodi ng: gzi p, deflate, sdch
Accept-Language: ko-KR,ko;q=0.8,en-US;q=0.6,en;q=0.4 08
# 공백 라인 : 헤더의 종료를 표시
'BackEnd > JAVA' 카테고리의 다른 글
[Ch02] 1-5. HTTP 클라이언트 만들기 (0) | 2021.12.10 |
---|---|
[Ch02] 1-4. HTTP 응답 (0) | 2021.12.10 |
[Ch02] 1-2. HTTP 모니터링 (0) | 2021.12.10 |
[Ch02] 1-1. HTTP 프로토콜의 이해 (0) | 2021.12.10 |
[Servlet] 서블릿 매핑기법 - web.xml의 구조(2) 서블링 매핑 (0) | 2021.11.30 |