생활코딩/WEBn

[HTTP] 개요

hayjo 2020. 8. 27. 11:54

[강의 출처] opentutorials.org/course/3385

 

WEB2 - HTTP - 생활코딩

2018년 8월 1일부터 14일까지 10일동안 코딩야학 4기가 시작됩니다. 혼자 공부하지 마시고, 함께 공부해보세요. 현업의 엔지니어들이 기술지원과 상담을 해드리고, 완주하신 분들께는 수료증도 드

opentutorials.org


HTTP

  • HyperText Transfer Protocol

  • 웹브라우저와 웹서버가 컨텐츠(html, 이미지, 오디오, css, js, ...)를 주고 받기 위해 사용하는 통신규칙

  • 웹브라우저의 요청(Request)과 웹서버의 응답(Response)을 위한 메시지로 구성되어 있다

  • 웹브라우저의 개발자도구 - 네트워크에서 통신 내용을 확인할  수 있음

 

HTTP를 이용한 통신방식 요약

사용자(user)가 웹페이지 접속을 시도

-> 사용자의 웹브라우저가 Request Message를 웹서버에게 보냄

-> 웹서버가 웹브라우저의 Request Message에 응답해서 Response Message를 되돌려줌

-> 사용자의 웹브라우저는 Response Message를 확인해서 화면에 아름답게(?) 출력

-> 웹페이지를 확인하면 완료

 

Request Message

  • 웹브라우저가 웹서버에게 요청한 데이터

  • 파이어폭스의 경우 'Raw'를 통해 원본 상태 확인 가능
Header Request Line Method(ex. GET) 요청정보(/파일.html) 통신방법(HTTP/1.1)
Reuqest Headers Host: 이 주소로 접속했다(ex. localhost:8080)
Accept: 웹브라우저가 지원하는 데이터 타입 (ex. text/html)
Accept-Encoding: 웹브라우저가 지원하는 데이터 압축 인코딩 타입(ex gzip, deflate, br)
User-Agent: 요청한 웹브라우저 형태(ex. Mozilla/4.0)
If-Modified-Since: 캐싱된 문서를 재요청할 때, 특정 시점 이후로 갱신된 데이터만 요청할 수 있도록 날짜 전송
(Blank line)
Body GET과 같은 리소스 요청 메소드는 본문이 필요하지 않고, POST 메소드 등에서 쓰임

 

 

Response Message

  • 웹서버가 웹브라우저에게 보내준 데이터

Header Status Version(HTTP버전) status Code(상태코드) phrase(결과)
Reuqest Headers Host: 이 주소로 접속했다(ex. localhost:8080)
Content-Type: 응답한 데이터 형태 (ex. text/html)
Content-Length: 응답 데이터의 크기 (byte 단위)
Content-Encoding: 응답 데이터 압축 인코딩 타입(ex. gzip)
Last-Modified: 데이터의 최종 갱신시점
(Blank line)
Body 실제 전송되는 데이터들

 

 

Response Message Status Code(응답 상태 코드)

  • 100번대: 정보 제공

  • 200번대: 성공

  • 300번대: 다른 페이지로 리다이렉트

  • 400번대: 클라이언트 에러(ex 403: 권한없음, 404: 서버에 없는 페이지)

  • 500번대: 서버 에러

 

그외 HTTP 상태코드 확인에 유용한 페이지:

developer.mozilla.org/ko/docs/Web/HTTP/Status

 

HTTP 상태 코드

번역이 완료되지 않았습니다. Please help translate this article from English HTTP 응답 상태 코드는 특정 HTTP 요청이 성공적으로 완료되었는지 알려줍니다. 응답은 5개의 그룹으로 나누어집니다: 정보를 제

developer.mozilla.org