Networks

HTTP

남생이야 2024. 7. 29. 04:19

 

 

HTTP(HyperText Transfer Protocol)

  웹에서 데이터를 주고 받기 위한 프로토콜을 말한다. 

 

 

특징 

1. 비연결성 

 - 기본적으로 비연결성 프로토콜이이 때문에 클라이언트가 서버에 요청을 보내고 서버가 응답을 보낸 후 연결을 끊는다. 

2. 무상태성

 - 서버는 클라이언트의 상태를 유지하지 않는다. 각 요청은 독립적이며, 이전 요청의 정보를 포함하지 않는다. 이를 보완하기 위해 쿠키나 세션을 사용한다.

3. HTTP 메소드

GET 리소를 요청할 때 사용, 서버에서 데이터를 가져온다
POST 데이터를 서버에 전송할 때 사용한다.
PUT 서버의 리소스를 업데이트할 때 사용한다.
DELTE 서버의 리소스를 삭제할 때 사용한다.
HEAD GET과 동일하게 동작하지만 응답 본문을 포함하지 않는다. 헤더 정보만 요청할 때 사용한다.
OPTIONS 서버에서 지원하는 HTTP 메소드를 확인할 때 사용한다.
PATCH 리소스의 일부를 업데이트할 때 사용한다. 

4. HTTP 상태코드

 

  • 1xx (정보): 요청이 수신되어 처리 중인 상태.
  • 2xx (성공): 요청이 성공적으로 수신되고 처리된 상태.
    • 200 OK: 요청이 성공적으로 처리된 상태.
    • 201 Created: 요청이 성공적으로 처리되었고, 리소스가 생성된 상태.
  • 3xx (리다이렉션): 추가 작업이 필요.
    • 301 Moved Permanently: 요청된 리소스가 영구적으로 이동된 상태.
    • 302 Found: 요청된 리소스가 일시적으로 이동된 상태.
  • 4xx (클라이언트 오류): 요청에 오류가 있음.
    • 400 Bad Request: 잘못된 요청된 상태.
    • 401 Unauthorized: 인증이 필요한 상태.
    • 403 Forbidden: 접근이 금지됨.
    • 404 Not Found: 요청된 리소스를 찾을 수 없음.
  • 5xx (서버 오류): 서버에 오류가 발생.
    • 500 Internal Server Error: 서버 내부 오류.
    • 502 Bad Gateway: 잘못된 게이트웨이.
    • 503 Service Unavailable: 서버를 사용할 수 없음.