HTTP Messages

.esc·2021년 3월 6일
0
post-custom-banner

HTTP

(Hyper Text Transfer Protocol)
웹 브라우저와 웹 서버가 HTML로 작성된 웹 페이지나 파일을 주고받기 위한 프로토콜이다.

HTTPS

HTTPSSL로 암호화하여 보완성을 확보한 것을 HTTPS라고 한다.

HTTP 통신

HTTP에서는 클라이언트가 서버에 요청 메시지를 보내고 서버가 응답 메시지를 반환한다.
HTTP는 Stateless로 State가 저장되지 않아 전에 보낸 요청/응답에 대한 정보를 알 수 없다.
HTTP에서는 전송 계층은 TCP, 네트워크 계층은 IP를 사용하는 것이 일반적이다.
TCP/IP에서는 IP주소를 사용하여 통신할 컴퓨터를 결정한다. 그리고 포트번호를 사용하여 그 컴퓨터의 어떤 프로그램과 통신할지 결정한다. HTTP에서는 기본적으로 80번 포트를 사용한다.

HTTP Messages

Start line
Headers
blank line
Body

Requests(요청)

  • Start line
    Method: GET, POST, PUT, DELETE
    URL: 경로
    HTTP 버전

  • Headers
    (Key: Value)
    메시지의 제어 정보
    메시지 본문 데이터의 정보(데이터 종류, 문자 코드)

  • body
    보내는 데이터(모든 요청에 body가 들어가지는 않는다.)

Responses(응답)

  • Start line(Status line)
    HTTP 버전
    Status Code(상태 코드): 200
    Status Text(상태 설명): OK

  • Headers
    (Key: Value)
    메시지의 제어 정보
    메시지 본문 데이터의 정보(데이터 종류, 문자 코드)

  • body
    받는 데이터(모든 응답에 body가 들어가지는 않는다.)


주요 상태 종류

  • 1xx: 정보

  • 2xx: 성공
    - 200: OK, 요청 성공

  • 3xx: 리다이렉트

  • 4xx: 클라이언트 에러
    - 400: Bad Request, 요청 오류
    - 401: unauthorized, 인증되지 않음
    - 403: Forbbiden, 액세스가 허용되지 않음
    - 404: Not Fount, 리소스를 찾지 못함
    - 408: Request Timeout, 요청 시간 초과

  • 5xx: 서버 에러
    - 500: Internet Server Error, 서버 내부 에러
    - 503: Service Unavailable, 서비스 사용이 불가능한 상태

참조

https://developer.mozilla.org/ko/docs/Web/HTTP/Messages

profile
front-end
post-custom-banner

0개의 댓글