개발로 자기계발
728x90

1. HTTP(HyperText Transfer Protocol): 웹 서버와 클라이언트가 리소스를 교환하기 위해 사용하는 프로토콜. 클라이언트가 요청하면, 서버가 응답하는 방식.

  • 프로토콜(Protocol): 규격화된 상호작용에 적용되는 약속

 

 

2. HTTP 메시지: HTTP 서버와 클라이언트가 교환하는 데이터. 헤드와 바디로 구성되며, 각 줄은 CRLF로 구분됨.

  • 헤드: 메시지에 대한 정보. 헤드의 끝에는 CRLF가 한 줄 있음.
    • CRLF(Carriage Return / Line Feed)를 의미하며 키보드의 엔터키와 동일한 기능("개행", "줄 바꿈")
  • 바디: 클라이언트가 서버에게, 또는 서버가 클라이언트에게 전달할 데이터

 

 

3. HTTP 요청(Request): 클라이언트가 서버에게 특정 동작을 요청하는 메시지

  • 메서드(Method): 요청 URI가 가리키는 리소스에 대해, 서버가 수행했으면 하는 동작을 지정
    • ex) GET, POST, PUT, DELETE
  • 요청 URI(Request-URI): 메서드의 대상이 되는 리소스를 지정

 

 

4. HTTP 응답(Response): 요청을 처리한 결과 및 이유, 그리고 클라이언트에 전송할 웹 리소스를 포함하는 메시지

  • 상태 코드(Status Code): 요청을 처리한 결과
  • 처리 사유(Reason Phrase): 상태 코드가 발생한 이유

 

상태 코드설명대표 예시

상태 코드 처리 사유 상태 코드 예시
1xx 요청을 제대로 받았고, 처리가 진행 중임  
2xx 요청이 제대로 처리됨
  • 200: 성공
3xx 요청을 처리하려면, 클라이언트가 추가 동작을 취해야 함.
  • 302: 다른 URL로 갈 것
4xx 클라이언트가 잘못된 요청을 보내어 처리에 실패했습니다.
  • 400: 요청이 문법에 맞지 않음
  • 403: 클라이언트가 리소스에 요청할 권한이 없음
  • 404: 리소스가 없음
5xx 클라이언트의 요청은 유효하지만, 서버에 에러가 발생하여 처리에 실패했습니다.

  • 500: 요청을 처리하다가 에러가 발생함
  • 503: 서버가 과부하로 인해 요청을 처리할 수 없음

 

 

5. HTTPS(HTTP on Secure socket layer): TLS를 이용하여 HTTP의 약점을 보완한 프로토콜

  • 전송 계층(TL - Transport Layer): 포트로 데이터를 교환하는 방식
  • 보안 전송 계층(TLS - Transport Layer Security): 서버와 클라이언트 사이에 오가는 모든 HTTP 메시지를 암호화
728x90
SMALL

'Develop > 기초지식' 카테고리의 다른 글

자료구조 & 알고리즘 - 1  (0) 2023.04.10
코딩 테스트 특강 간단 정리  (0) 2023.04.10
쿠키와 세션의 정의  (0) 2023.01.31
JSON Web Token(JWT)  (0) 2023.01.07
인코딩 정의 / 디코딩 정의  (0) 2022.12.30
profile

개발로 자기계발

@김잠봉

틀린부분이나 조언이 있다면 언제든 환영입니다:-)