2. HTTP란?

2022. 5. 12. 15:57지식정리

HTTP란?

정의

HyperText Transfer Protocol

  • Hypertext - 초문서(링크가 있어 문서에서 문서로 넘어갈 수 있음)
  • 네트워크로 연결된 장치들 사이 정보를 전달하는 응용 레이어의 통신 규약. OSI 7 layer의 최상단에 있음
    • 다른 정의 : HTML 문서 같은 자원을 가져오는 통신규약
  • HTTP Request : client에서 request를, Server에서 response를 보내는 과정에 포함됨Client란?
  • user-agent : 사용자를 위해 동작하는 모든 도구들. 보통 web에서는 web browser가 그 역할을 한다.
  • browser는 항상 request를 시작하는 주체이다.

HTTP request란?

  • 웹 브라우저 등이 웹사이트에 정보를 요청할 때 사용하는 방법
  • 각각의 HTTP request는 encoding 된 data를 운반함
  • http request의 구성
    • HTTP version type
    • URL
    • HTTP method
    • HTTP request Headers
    • Optional HTTP Body(Post 일 경우)

HTTP Method란?

  • HTTP request가 예상한 server가 취해야할 action을 알려준다.
  • GET - 정보를 response 할것을 예상/ POST - Client가 web server에 정보를 submit함

HTTP request Header란?

  • key-value 쌍
  • 필수 요소임
  • 브라우저 정보, 요청하는 데이터 같은 핵심 정보를 포함한다.
    • Chrome example
      • :uthority:, :method:, :path:, :scheme:
      • accept:, accept-encoding:, upgrade-insecure-requests:,user-agent:
      • 중요한 정보는 좌우에 colon(:) 이 있다HTTP request body란?
  • request가 전송하는 정보의 body 부분을 담는다
  • 예시) form에 id, password를 submit 할때 id, password 부분이 body에 담긴다

HTTP response란?

  • 브라우저 같은 web client가 HTTPrequest를 보낸 것에 대한 Internet server의 응답
  • HTTP response의 구성
    • HTTP status code
    • HTTP response headers
    • optional HTTP body

HTTP status code란?

  • HTTP request가 정상처리 되었는지 알려주는 3자리 숫자
  • 가장 높은 첫 자리를 기준으로 한 5가지 경우(XX: 00 ~ 99)
    • 1XX : Informational
    • 2XX : Success
    • 3XX : Redirection
    • 4XX : Client Error (웹 클라이언트 측 문제)
    • 5XX : Server Error (서버측 문제)
  • 보통 정상 완료시 200 OK를 볼수 있음
  • 없는/잘못된 페이지/자원/경로를 입력하면 404 NOT FOUND

HTTP response header란?

  • HTTP response의 header 또한 HTTP request header와 같이 중요한 데이터를 전달한다.
  • ex - chrome network tab
    • cache-control, content-encoding, content-type, date, status, strict-transport-security, x-frame-optionsHTTP response body란?
  • GET 요청에 정상적인 응답을 할 경우 요청한 정보를 body에 담아서 보낸다.
  • 보통 HTML data가 담긴 body를 web browser에서 web page로 변환한다.

HTTP is Stateless란?

  • TCP는 3 way handshake를 통해 SYN - ACK을 주고 받으며 연결한다. 그리고 server가 client의 session 을 저장한다.
  • 반면에 HTTP는 server에 client의 동작, 상태정보를 저장하지 않는다.

'지식정리' 카테고리의 다른 글

4. Web Hosting이란?  (0) 2022.05.12
3. DNS란?  (0) 2022.05.12
1. 인터넷은 어떻게 돌아가는가?  (0) 2022.05.12
0. backend roadmap study  (0) 2022.05.12
보안, 보안관제 관련 글 정리  (2) 2021.01.07