본문 바로가기

공부 기록/Web

HTTP protocol


HTTP (무상태 프로토콜)

  • Hyper Text Transfer Protocol
  • RFC 2616에서 규정된, 서버와 클라이언트가 Web에서 데이터를 주고 받기 위한 프로토콜
  • 메시지를 주고(Request) 받는(Response) 형태의 통신 방법
  • 이름에는 하이퍼텍스트 전송용 프로토콜로 정의되어 있지만 실제로는 HTML, XML, JSON, Image, Voice, Video, Javascript, PDF 등 다양한 컴퓨터에서 다룰 수 있는 것은 모두 전송할 수 있다.
  • TCP를 기반으로 한 REST의 특징을 모두 구현하고 있는 Web 기반의 프로토콜
  • 장점 : 불특정 다수를 대상으로 하는 서비스에 적합하다. 클라이언트와 서버가 계속 연결된 형태가 아니기 때문에 클라이언트와 서버 간의 최대 연결 수보다 훨씬 많은 요청과 응답을 처리할 수 있다.
  • 단점 : 연결을 끊어버리기 때문에 클라이언트의 이전 상황을 알 수 없다. 이러한 특징을 무상태라고 말하며, 정보를 유지하기 위해 쿠키와 같은 기술이 등장하게 되었다.
[Client] 요청 메시지 작성 -> 요청 메시지 전송 -> 응답 대기 -> [Server] 요청 대기 -> 요청 메시지 수신 -> 요청 메시지 해석 -> 애플리케이션 할당 -> 애플리케이션 결과 생성 -> 응답 메시지 송신 -> [Client] 응답 메시지 수신 -> 응답 메시지 해석 ->
데이터 표시 및 처리

 


 

HTTP 요청을 특정하는 Method 8가지

- 멱등성 : 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질. 동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지니고, 서버의 상태도 동일하게 남을 때, 해당 HTTP 메서드가 멱등성을 가졌다고 말한다.
https://developer.mozilla.org/ko/docs/Glossary/Idempotent

 

멱등성 - MDN Web Docs 용어 사전: 웹 용어 정의 | MDN

동일한 요청을 한 번 보내는 것과 여러 번 연속으로 보내는 것이 같은 효과를 지니고, 서버의 상태도 동일하게 남을 때, 해당 HTTP 메서드가 멱등성을 가졌다고 말합니다. 다른 말로는, 멱등성 메

developer.mozilla.org


 

HTTP Status Code

주요 상태 코드

1xx - 처리 중

처리가 계속 되고 있는 상태. 클라이언트는 요청을 계속 하거나 서버의 지시에 따라서 재요청

2xx - 성공

요청의 성공

3xx - 리다이렉트

다른 리소스로 리다이렉트. 해당 코드를 받았을 때는 Response의 새로운 주소로 다시 요청

4xx - 클라이언트 에러

클라이언트의 요청에 에러가 있는 상태. 요청의 문법이 잘못되었거나 요청을 처리할 수 없음. 재전송해도 에러가 해결되지 않는다.

5xx - 서버 에러

서버 처리 중 에러가 발생한 상태. 재전송 시 에러가 해결될 수도 있다.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

 

HTTP response status codes - HTTP | MDN

HTTP response status codes indicate whether a specific HTTP request has been successfully completed. Responses are grouped in five classes:

developer.mozilla.org


'공부 기록 > Web' 카테고리의 다른 글

웹 서버 (Web server)  (0) 2023.01.19
Brower의 동작  (0) 2023.01.19
URI 설계 원칙  (0) 2023.01.17
REST API  (0) 2023.01.17
WEB  (1) 2023.01.17