하루살이 개발일지

[CS] HTTP와 프로토콜에 대하여 (response, request) 본문

CS

[CS] HTTP와 프로토콜에 대하여 (response, request)

harusari 2023. 7. 4. 10:41

HTTP

웹 통신이란?

  • 통신은 영어로 communication
  • 웹 통신이란, 웹 프로그래밍 세계에서 나누는 대화
    • 이 대화방법은 보통 데이터로 이루어짐
    • 대상 : 서버(웹 서버)와 클라이언트(웹 브라우저)
  • 즉, 웹 통신이란 서버와 클라이언트간의 대화

프로토콜이란?

프로토콜의 개념

  • 서버와 클라이언트가 대화하기 위한 ‘약속’
  • 특히, 웹에서 서버 ↔ 클라이언트간 주고 받은 상호간의 약속(프로토콜)을 HTTP 프로토콜 이라고 함

 

요청(request)과 응답(response)

[출처 : https://www.hostinger.in/tutorials/what-is-a-url]

  • 서버와 클라이언트가 서로 데이터 주고받기 위해서는 항상 요청하고 응답해야함
  • 항상 HTTP 형식으로 주고받기 때문에 HTTP request를 보내고 HTTP response를 받음
    • 클라이언트가 HTTP request
    • 서버는 HTTP response

 


URL에 대해

[출처 : https://www.hostinger.in/tutorials/what-is-a-url ]

  • protocol
  • domain
    • sub domain
    • domain name
  • resource path(path/page)
  • query variable, path variable

 


메서드

= 클라이언트가 서버에게 어떤 요청을 할 것인가?

GET - 조회
POST - 생성
PUT, PATCH - 수정(변경)
DELETE - 삭제

MDN 공식문서 : HTTP request methods - HTTP | MDN

 

HTTP request methods - HTTP | MDN

HTTP defines a set of request methods to indicate the desired action to be performed for a given resource. Although they can also be nouns, these request methods are sometimes referred to as HTTP verbs. Each of them implements a different semantic, but som

developer.mozilla.org

 


상태 코드

  • 클라이언트가 서버에 어떤 요청(request)를 하고 나면, 서버는 그에 맞는 응답(response)를 제공
  • 그 때, 각 응답은 상태코드를 가짐
  • 4xx, 5xx는 보통 에러 코드
💡 HTTP 응답 코드

1xx(정보) : 요청을 받았으며 프로세스를 계속 진행합니다. (아마 많이 안 볼 것)

2xx(성공) : 요청을 성공적으로 받았으며 인식했고 수용하였습니다. (많이 볼 것, 보통 성공)

3xx(리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요합니다.

4xx(클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다.
클라이언트 사이드 오류클라이언트에서 요청할 때 뭔가 잘못한 것

5xx(서버 오류) : 서버가 명백히 유효한 요청에 대한 충족을 실패했습니다.
서버가 꺼져있다든지 로직이 잘못되어있다든지 할 때