HTTP
- 컴퓨터끼리 데이터를 주고 받을 때 정해진 통신 규약 중 하나
- 대부분의 브라우저는 HTTP 프로토콜을 기본으로 지원
Reauest : 브라우저가 서버에게 원하는 정보 요구
Response : 서버는 브라우저가 원하는 정보를 실어 응답/ 없다면 없는 페이지 반환
HTTP의 구성요소
- Method (호출/요청 방식)
- GET: 어떤 리소스를 얻을 때 사용. 브라우저의 주소창에 URL을 입력하면 - GET 메서드를 사용해서 서버에 요청
- POST: 웹 서버에 데이터를 게시할 때 사용 (ex. 회원가입, 게시글 작성, 댓글 작성)
- 그외 DELETE 등이 있음
- Header (추가 데이터. 메타 데이터)
- 브라우저가 어떤 페이지를 원하는지
- 요청 받은 페이지를 찾았는지
- 요청 받은 데이터를 성공적으로 찾았는지
- 어떤 형식으로 데이터를 보낼지
GET naver.com HTTP/1.1
- 이외에도다양한 표현을 위한 데이터를 모두 Header 필드에 넣고 주고 받음
- 위에서 설명 된 메서드도 헤더에 포함되어 서버로 보냄
- Payload (데이터. 실제 데이터) = body
- 서버가 응답을 보낼 때에는 항상 Payload를 보낼 수 있음
- 클라이언트(브라우저)가 요청을 할 때에도 Payload를 보낼 수 있습니다.
- "GET method를 제외하곤 모두 Payload를 보낼 수 있음"
- 예)html
<!DOCTYPE html> <html> <head><title>By @ResponseBody</title></head> <body>Hello, Spring 정적 웹 페이지!!</body> </html>
실제로 어떻게 보이는지 구글에서 확인해보자!
구글 페이지의 개발자 도구로 들어가서 -
Network 탭
- network 탭에 나오는 목록 : 현 페이지를 보여주기 위해 서버에서 받아온 데이터의 목록
Header 탭
- General : 브라우저가 서버로 보낸 Request 데이터
- Status Code : 브라우저와 서버간의 요천, 응답 과정에서 발생한 상황을 표현 (첫번째 자리는 코드의 분류)
- 1xx : information 요청수신, 처리중 (연결상태확인 용도)
- 2xx : succesful 성공적 처리-제공
- 3xx : redirection 클라이언트의 추가적 조치원함 (주로 페이지 이동)
- 4xx : client error 클라이언트의 잘못된 요청, 오류 (404 = 요청한 페이지나 리소스를 서버에서 찾을 수 없음)
- 5xx : server error 서버오류, 과부화 (500 = 서버 내부 오류발생)
- Request Headers 탭 : : 브라우저에서 서버로 보낸 request 데이터
- Response Headers 탭 : 서버가 웹 페이지 데이터와 함께 보낸 추가 데이터
Response 탭
- 서버에서 브라우저로 반환해준 웹 페이지를 그리기 위한 데이터
'Spring > Springboot-Intellij' 카테고리의 다른 글
[SpringBoot] Lombok(@) / application.properties(설정변경) (0) | 2025.01.28 |
---|---|
[Spring Boot] 테스트 코드, JUnit 제이유닛 (0) | 2025.01.28 |
[IntelliJ] 인텔리제이(IntelliJ)에서 "Hello World" 출력하는 API만들기 (0) | 2025.01.28 |
[Server] 서버 (Server) (0) | 2025.01.26 |
[Gradle] 그레이들(Gradle) (0) | 2025.01.26 |