본문 바로가기

Study/BoostCourse_Web

[부스트코스] HTTP 프로토콜의 이해

HTTP

웹 브라우저가 서버에게 요청하면 서버는 브라우저에게 응답한다. 이때 지키는 통신 규약이 http이다. 헤더를 통해서 요청 헤더와 응답 헤더를 볼 수 있으며 서버는 정보를 제공하면서 응답한 정보를 헤더를 통해 알려준다.

URL

한대의 컴퓨터에는 서로 다른 포트 값을 가진 소프트웨어 서버가 동작이 가능하다. 웹의 기본포트는 80번이다.

URL은 인터넷 상의 자원이 어디에 위치하는지를 의미하며 특정 웹 서버의 특정파일에 접근하기위한 하나의 주소라고 생각하면 된다.

HTTP 통신

HTTP 통신으로 주고받게되는 헤더와 바디

Request Header

hostname이 꼭 필요하다. 요청하는 웹사이트의 웹서버의 주소를 적어야한다.

 

포트번호:

  • 한대의 컴퓨터에는 여러개의 서버가 설치되어있을 수 있다. 포트번호에 등록된 웹서버를 의미하는 것!

가상호스트:

  • a서버가 a.com b.com c.com을 전부 호스팅 하는 것. 주소에따라 다른 데이터 접근 가능

유저에이전트:

  • 웹브라우저의 다른 표현이다. 요청하는 웹브라우저가 어느 웹브라우저인지나 접속자의 브라우저, 운영체제등을 알 수 있다. 이를 통해 기계 접근시에 이를 감지하고 차단할 수 있다.

accept incodeing

  • 데이터 양이 많으면 서버가 압축하여 전송하고 브라우저 가 압축을 풀어서 처리한다. 이때 어떤 압축 방식을 지원하는 지를 적어놓는다

if modified since:

  • 내가 가진 파일이 언제 받은게 마지막이라는걸 서버에게 알려준다. 뭐가 더 최신인지 비교해서 서버가 가진게 최신이면 브라우저에게 다시 전송해준다.
  1. 제일 먼저 나오는 첫번째 부분이 요청 행
  2. 가운데가 리퀘스트 헤더
  3. 이둘을 합친게 리퀘스트 메세지 헤더
  4. 바디와 리퀘스트 메세지 헤더 사이에 빈라인을 넣어 이를 구분
  5. 바디는 서버에게 주는 정보를 적음

Get 요청파일

웹브라우저와 웹서버가 어떻게 통신할것인가?

get은 웹서버로부터 데이터 가져올때 사용하는 메소드이다.

Response Header

  • status (첫째행)
    • 서버가 응답했을때 잘됐는지 안됐는지를 알려준다.
    • http버전/응답결과/이해하기 쉽도록 설명해준다(1,2,3,4×× informational responses).
  • redirection
    • 3xx: a.com으로 접속했을때 서버가 3××를 응답하면 웹브라우저가 다른곳으로 다시 이동한다.
    • 4××: 클라이언트쪽의 오류이다.
    • 5××: 서버의 오류이다.
  • content type
    • 응답타입/언어(text/html)를 의미한다.
  • last modified
    • 이 정보가 마지막으로 언제 수정되었는지를 의미한다.

HTTPS 와 HTTP의 차이?

http의 안전 버전이다. SSL인증서를 이용하기 때문에 https를 사용하면 전송되는 내용을 가로채도 알 수 없다.

'Study > BoostCourse_Web' 카테고리의 다른 글

[BoostCourse] Servlet 이란? (1/2)  (0) 2020.05.26
[BoostCourse] 브라우저란?  (0) 2020.05.12