일반적으로 브라우저는 자신이 원하는 정보를 전달하기 위해서 두 가지 방식을 사용한다.
1. 정보 전달 방식
Get 방식
- 주소창에 직접 원하는 데이터를 적거나 링크를 클릭해서 호출
- 원하는 웹의 주소를 호출할 때 필요한 데이터를 ?와 &, =를 이용해서 같이 전송하는 방식
- 주소와 필요한 데이터를 한번에 같이 보내기 때문에 단순 링크로 처리됨
👉 다른 사람들에게 메신저나 SNS 등을 통해서 쉽게 공유가 가능함 - 주로 특정한 정보를 조회하는 용도로 사용됨
Post 방식
- 입력 화면에서 필요한 내용을 작성한 후에 '전송'과 같은 버튼 등을 클릭해서 호출
- 주소와 데이터를 따로 보내는 방식
- 예) 회원가입, 로그인
- 웹 화면을 통해서 실제 처리가 필요한 작업을 하기 위해서 사용함
2. 데이터 종류
정적 데이터
- 항상 동일하게 고정된 데이터를 전송하는 방식
- 고정된 HTML, CSS, 이미지 파일 등의 데이터
동적 데이터
- 매번 필요할 때마다 다른 데이터를 동적으로 구성해서 전송하는 방식
- 상황에 따라 동적으로 서버에서 데이터를 만들어서 보내는 방식
👉 서버 사이드 프로그래밍이라고도 함
3. HTTP
프로토콜이란?
브라우저의 요청과 서버의 응답 사이의 데이터 교환 약속
웹에서는 HTTP(Hyper Text Transfer Protocol)라는 방식으로 데이터를 주고 받는다.
https://www.google.com/ - http or https: 프로토콜 - www.googole.com: 호스트(도메인) |
- HTTP 메시지 확인
크롬에서 F12를 눌러 개발자 도구를 켜 Network 탭을 선택하면 데이터가 오고가는 것을 확인할 수 있다.
- HTTP 메시지 구성
HTTP 메시지는 브라우저에서 전송할 때 뿐만 아니라 서버에서 데이터를 전송할 때도 사용된다.
BUT 브라우저에서 서버로 데이터를 보낼 때는 Request 요청이고,
서버에서 브라우저로 데이터를 보낼 때는 Response 응답이다.
HTTP 메시지는 기본적으로 헤더 Header와 몸체 Body로 구성된다.
헤더는 편지봉투, 몸체는 편지의 내용물과 같은 개념이다.
브라우저에서 특정한 URL을 호출하면 요청과 응답이 하나의 쌍으로 묶여서 처리되는데,
개발자 도구에서는 Network -> Headers 항목에서 Request Headers와 Response Headers
라는 항목이 같이 보여지게 처리되어 있다.
항목을 선택하면 요청과 응답 시에 사용된 HTTP 메시지의 일부 정보를 눈으로 확인할 수 있다.
- 비연결성 Connectionless
웹의 특성상 여러 명의 사용자가 브라우저를 통해서 서버를 호출하는 구조이기 때문에 서버에서는 최대한 많은 사용자에게 서비스를 제공하기 위해 비연결성이라는 방식을 선택한다.
비연결성 Connectionless?
하나의 요청과 응답을 처리한 후에 연결을 종료하는 것
비연결성의 예
특정한 웹 페이지의 최신 결과를 확인하기 위해서 새로 고침을 하는 것
👉 이미 브라우저와 서버의 연결이 끝났기 때문에 다시 연결하지 않으면 과거의 결과만이 남아있기 때문
비연결성의 장점
서버에서의 하나의 요청을 빨리 처리하고 연결을 종료해서 다음 요청을 받을 수 있다면
적은 리소스를 이용해서 많은 수의 요청들을 처리할 수 있음
'Web' 카테고리의 다른 글
웹 기술의 진화 과정 (자바 중심 + React) (0) | 2024.10.30 |
---|---|
[Web] 웹 서비스 구조 (2) | 2024.03.29 |
[이것이 자바다] 네트워크 기초 (0) | 2024.03.12 |