[인터넷] HTTP

박우현·2020년 12월 24일
0
post-thumbnail

👌 HTTP란?

HTTP는 Hypertext Transfer Protocol의 약자로, 하이퍼텍스트 문서를 교환하기 위하여 사용되는 통신 규약. 즉, 웹 서버와 클라이언트간의 통신을 하기 위한 통신 규약을 말한다.

✔ HTTP의 특징

  • HTTP 메시지는 HTTP 서버와 HTTP 클라이언트에 의해서 해석
  • 클라이언트가 서버에 HTTP 요청을 보내면 서버가 사용자에게 HTTP 응답을 전송
  • TCP/IP를 이용하는 응용 프로토콜 (application protocol)
  • 연결 상태를 유지하지 않는 비연결성 프로토콜 (비연결성의 단점을 해결하기 위해 Cookie와 Session 등장)
  • 비연결성 프로토콜이기 때문에 요청/응답(request/response) 방식으로 동작

✔ 요청 (Request)

  • 요청의 종류 (Request Method)
    • GET: 자료를 요청
    • POST: 자료의 생성을 요청
    • PUT: 자료의 수정을 요청
    • DELETE: 자료의 삭제를 요청
GET https://velog.io/@woohyun-park HTTP/1.1	
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
Upgrade-Insecure-Requests: 1

(본문 없음)
  • 메소드 구조 버전 (첫번째 줄)
  • 헤더 (2,3번째 줄)
    • 요청에 대한 정보
    • 헤더의 종류는 매우 많음
  • 본문 (없음)
    • 요청을 할 때 함께 보낼 데이터를 담는 부분
    • 예시는 단순히 주소를 요청하므로 본문이 비어있음

✔ 응답 (Response)

  • 상태 코드 (Status Code)
    • 1XX: 조건부 응답, 요청을 받았으며 작업을 계속
    • 2XX: 성공, 요청한 동작을 수신하여 이해했고 승낙했으며 성공적으로 처리
    • 3XX: 리다이렉션 완료, 클라이언트는 요청을 마치기 위해 추가 동작을 취해야 함
    • 4XX: 요청 오류, 클라이언트에 오류
    • 5XX: 서버 오류, 서버가 유효한 요청을 수행하지 못했음
HTTP/1.1 200 OK
Connection: keep-alive
Content-Encoding: gzip			 
Content-Length: 35653
Content-Type: text/html;

<!DOCTYPE html><html lang="ko" data-reactroot=""><head><title...
  • 버전 상태코드 상태메시지 (첫번째 줄)
    • 200은 성공적인 요청이라는 뜻
  • 헤더 (두번째 줄부터)
    • 응답에 대한 정보
  • 본문 (다음 문단부터)
    • 응답의 경우 대부분 본문이 존재
    • 응답 메시지에 요청한 데이터가 담겨있음
    • 예시의 경우 HTML이 담겨있는데, 이 HTML을 브라우저가 화면에 렌더링

✔ 참고 사이트

0개의 댓글