HTTP(HyperText Transfer Protocol)는 웹에서 데이터를 주고받는 약속(규칙)이야.
쉽게 말해, 인터넷에서 컴퓨터끼리 대화하는 언어라고 생각하며 돼.
1️⃣ HTTP 요청
클라이언트가 서버에게 데이터를 요청.
2️⃣ HTTP 응답
서버가 클라이언트에게 데이터를 응답.
3️⃣ HTTP 상태 코드
100 Continue 요청의 일부를 서버가 받았으며, 나머지를 계속 보내라는 의미.200 OK 요청이 성공적으로 처리되었음.201 Created 요청이 성공적이었으며, 새로운 자원이 생성되었음.301 Moved Permanently 요청한 리소스가 영구적으로 새로운 URL로 이동.302 Found 요청한 리소스가 임시로 다른 URL로 이동.400 Bad Request 잘못된 요청임.401 Unauthorized 인증이 필요함.404 Not Found 요청한 리소스를 찾을 수 없음.500 Internal Server Error 서버가 요청을 처리하는 동안 오류가 발생.502 Bad Gateway 서버가 게이트웨이 또는 프록시 역할을 하는 서버로부터 유효하지 않은 응답을 받음.HTTP 메서드는 클라이언트가 서버에게 요청의 성격을 알리는 데 사용됨.
데이터를 요청할 때 **사용해요. 요청 데이터가 URL에 포함**되어 전송되며, 주로 데이터를 조회할 때 사용.데이터를 제출할 때 사용.데이터를 업데이트할 때 사용.데이터를 삭제할 때 사용.https://api.example.com| 순번 | 요청 내용 | method | url |
|---|---|---|---|
| 1 | 게시글을 추가 | POST | /posts |
| 2 | 모든 게시글 조회 | GET | /posts |
| 3 | 특정 게시글 조회 | GET | /posts/:id |
| 4 | 특정 게시글 정보 업데이트 | PUT | /posts/:id |
| 5 | 특정 게시글 정보 일부 수정 | PATCH | /posts/:id |
| 6 | 특정 게시글 정보 삭제 | DELETE | /posts/:id |
Content-Type: application/json
- Content-Type 헤더는 서버와 클라이언트가 주고받는 데이터의 형식(타입)을 알려주는 정보야.
- application/json은 이 데이터가 JSON 형식임을 나타내.
{
"name": "Alice",
"age": 25,
"isStudent": true
}
POST /api/users HTTP/1.1
Content-Type: application/json
{
"name": "Alice",
"age": 25
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"message": "Success",
"data": {
"id": 1,
"name": "Alice"
}
}
서버와 클라이언트는 서로 다른 시스템이기 때문에, 데이터 형식을 명확히 알려줘야 문제가 생기지 않아. 서버와 클라이언트가 데이터를 올바르게 해석하고 처리할 수 있게 도와주는거지! Content-Type: application/json은 데이터를 JSON 형식으로 처리하도록 약속하는 거야.
HTTP는 웹 브라우저와 서버가 데이터를 주고받기 위해 사용하는 약속이야.
"클라이언트가 요청(Request), 서버가 응답(Response)"의 원리로 동작해!