HTTP

도니·2022년 4월 13일
0
post-custom-banner

HTTP는 인터넷에서 데이터를 주고 받기위해 정의된 통신 프로토콜이다

HTTP(Hypertext Transfer Protocol)

HTTP는 통신 프로토콜로써 특정 기기간에 데이터를 주고받기 위해 정의됨. 이 규약을 기반으로 개발이 진행되고 그렇기 때문에 정보를 주고 받을 수 있다.

HTTP 특징

HTTP 메시지는 사용자가 URL을 통해 요청(Request)하면 서버에서는 해당 요청 사항에 맞는 결과를 찾아서 사용자에게 응답(Response)한다.
이 때 요청은 연결 상태를 유지 하지 않는 비연결성이다.
HTTP는 텍스트 교환이므로 Plain text부터 JSON등 다양한 형태로 정보를 주고 받을 수 있다. 다만 단순 텍스트 교환이기 때문에 누군가가 중간에 가로채면 내용이 노출되는 보안 이슈가 있다.

HTTP 프로토콜은 일반적으로 TCP/IP로 동작을 하며 기본 포트는 80이다.

HTTP 동작

Request (요청)

클라이언트가 서버에게 연락하는 것을 Request(요청)라고 함.
이 때 HTTP Request Methods를 이용하여 특정 동작을 요청함.

  • GET : 존재하는 자료를 요청
  • POST : 새로운 자료를 생성하는 요청
  • PUT : 존재하는 자료에 대한 수정 요청
  • DELETE : 존재하는 자료에 대한 삭제 요청

때에 따라선 POST 메소드로 PUT과 DELETE를 대체할 수 있다.

Response (응답)

응답은 위의 Request에 따라 알맞은 데이터 값들을 상태코드와 응답의 결과 값을 Body에 넣어서 클라이언트에게 보내는 것을 의미한다. 상태코드로는 200번대 부터 500번대까지 존재한다.

  • 2xx - 성공
    - 200 : Get 요청 성공
    - 204 : 성공했으나 데이터 없음
    - 205 : 성공했으나 새로고침 권고
    - 206 : 성공했으나 일부 데이터만 받음
  • 3xx - 리다이렉션
  • 4xx - 클라이언트 에러
    - 400 : 잘못된 요청
    - 401 : 권한 없음
    - 403 : 해당 자원 접근 금지
    - 405 : 허용되지 않은 요청 메소드
  • 5xx - 서버에러
    - 503 : 서비스 불가
profile
세상만사에 호기심
post-custom-banner

0개의 댓글