HTTP란?
HyperText Transfer Protocol의 약자로 하이퍼텍스트 문서를 교환하기 위하여 사용된 통신 규약입니다.
즉, 웹 서버와 클라이언트 간의 통신을 하기 위한 통신 규약입니다.
HTTP는 1989년 팀 버너스-리에 의해 처음 설계되어 인터넷을 통한 월드 와이드 웹(World-Wide Web 일명 : www) 기반에서 전 세계적인 정보 공유를 이루는데 큰 역할을 했습니다.
HTTP는 웹에서만 사용하는 프로토콜로 TCP/IP(Transmission Control Protocol / Internet Protocol)을 이용하며, 사용 포트 번호는 기본적으로 80입니다.
인터넷 기반 서비스에는 HTTP 외에도 Email, FTP, DNS, NEWS 등이 있습니다.
HTTP의 특징
- HTTP 메시지는 HTTP 서버와 HTTP 클라이언트에 의해서 해석이 됩니다.
- TCP/IP를 이용하는 응용 프로토콜(application protocol)입니다.
- HTTP는 연결 상태를 유지하지 않는 비연결성 프로토콜입니다. (이러한 단점을 해결하기 위해 Cookie와 Seesion 등장)
- HTTP는 연결을 유지하지 않는 프로토콜이기 떄문에 요청/응답(request/response) 방식으로 동작합니다.
클라이언트가 브라우저를 통해서 어떠한 서비스를 url을 통하거나 다른 것을 통해서 요청(request)을 하면 서버에서는 해당 요청사항에 맞는 결과를 찾아서 사용자에게 응답하는 형태로 동작합니다.
- 요청 : client -> server
- 응답 : server -> client
Request (요청)
클라이언트가 서버에게 연락하는 것을 요청이라고 하며 요청을 보낼때는 요청에 대한 정보를 담아 서버로 보냅니다.
Request Method (요청의 종류)
GET : 자료를 요청할 때 사용
POST : 자료의 생성을 요청할 때 사용
PUT : 자료의 수정을 요청할 때 사용
DELETE : 자료의 삭제를 요청할 때 사용
참고하실 HTTP 메소드별 특징입니다.
Response (응답)
서버가 요청에 대한 답변을 클라이언트에게 보내는 것을 응답이라고 합니다.
Status Code (상태 코드)
상태 코드는 굉장히 많은 종류가 있고, 아래와 같이 크게 다섯 부류로 나눌 수 있습니다.
-1XX (조건부 응답) : 요청을 받았으며 작업을 계속한다.
-2XX (성공) : 클라이언트가 요청한 동작을 수신하여 이해했고 승낙했으며 성공적으로 처리했음을 가리킨다.
-3XX (리다이렉션 완료) : 클라이언트는 요청을 마치기 위해 추가 동작을 취해야 한다.
-4XX (요청 오류) : 클라이언트에 오류가 있음을 나타낸다.
-5XX (서버 오류) : 서버가 유효한 요청을 명백하게 수행하지 못했음을 나타낸다.
가끔 홈페이지가 안들어가질때 404코드가 뜨는데
이는 클라이언트가 서버와 통신할 수는 있지만 서버가 요청한 바를 찾을 수 없다는 의미입니다.
'Web' 카테고리의 다른 글
[Angular] @ViewChild (0) | 2024.02.01 |
---|---|
[Web] 웹 표준과 웹 접근성 (0) | 2022.07.18 |
[Web] SPA (Single Page Application) (0) | 2021.07.07 |
인터넷은 어떻게 작동될까요 ? (0) | 2021.04.14 |