우리가 쉽게 인터넷에 접속할 때 URL에는 http:// 또는 https://로 되어 있을 겁니다
이번에는 개발자라면 꼭 알아야 할 HTTP에 대한 내용을 알아보고자 합니다.
HTTP 프로토콜이란?
HTTP(Hypertext Transfer Protocol)은 웹을 개발하는 사람이라면 알아야하는 통신 프로토콜입니다.
** 프로토콜(Protocol) : 컴퓨터들끼리 HTML파일을 주고받을 수 있도록 하는 소통방식 또는 약속
하단의 사진처럼 http, https가 프로토콜입니다.
웹에서 브라우저와 서버 간에 데이터를 주고 받기 위한 방식으로 HTTP 프로토콜을 사용하고 있습니다.
프론트 엔드 개발자라면 필수적으로 알아야하는 지식입니다.
HTTP 프로토콜의 특징
- 무상태성(Stateless) : 각각의 요청 간에 클라이언트와 서버 사이에 상태 정보가 저장되지 않습니다. 이것은 각 요청이 독립적으로 관리되어야 함을 의미합니다.
- 연결 상태 유지하지 않음(Connectionless) : 클라이언트가 요청(Request)을 서버에 보내면, 서버는 클라이언트에게 필요한 자원(Response)을 전송하고 곧바로 연결을 끊습니다.
- 단순함(Simplicity) : HTTP 메시지는 단순한 형식으로 구성되어 있어 이해하기 쉽습니다.
- 확장가능(Extensible) : HTTP 헤더를 사용하여 프로토콜의 기능을 확장할 수 있습니다.
HTTP 상태 코드
1xx : 요청은 접수되었으며 프로세스가 계속 진행 중입니다.
- 100 Continue
- 101 Switching Protocols
2xx : 요청은 성공적으로 이해되었으며 받아들여져 처리되었습니다.
- 200 OK
- 201 Created
- 202 Accepted
- 204 No Content
3xx : 추가 작업을 수행해야하거나 다른 위치에서 응답 내용을 찾아야 합니다.
- 300 Multiple Choices
- 301 Moved Permanently
- 302 Found
- 304 Not Modified
4xx : 클라이언트 쪽에서 잘못된 요청을 보냈습니다.
- 400 Bad Request
- 401 Unauthorized
- 403 Forbidden
- 404 Not Found
5xx : 서버 쪽에서 에러가 발생하여 요청 처리 실패했습니다.
- 500 Internal Server Error
- 501 Not Implemented
- 502 Bad Gateway
- 503 Service Unavailable
각 상태 코드는 특정상황에 대한 정보를 제공하며, 클라이언트와 서버 간의 의사소통을 돕습니다.
이러한 코드들은 HTTP 표준에 따라 정의되어 있으며, 개발자는 이러한 코드를 사용하여 애플리케이션 로직을 작성합니다.
'프론트 > 프론트엔드' 카테고리의 다른 글
[JSP] JSP에서 포워드(forward)와 리다이렉트(redirect), 특정 페이지로 이동 방법 (0) | 2023.10.20 |
---|---|
[프론트엔드] Redux란? (0) | 2023.10.13 |
[프론트엔드] Web Server란? (0) | 2023.10.13 |
[프론트엔드] GET과 POST 차이 (0) | 2023.10.11 |
[프론트엔드] AJAX란? (2) | 2023.10.11 |