-
[강의 출처] opentutorials.org/course/3385
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
'생활코딩 > WEBn' 카테고리의 다른 글
[JS] 나머지 개념들 - library, framework, UI, API (0) 2020.08.29 [JavaScript] 개요 (0) 2020.08.28 [CSS] 반응형 디자인(Responsive Design), Media Query (0) 2020.08.26 [CSS] 레이아웃: Box Model, Grid (0) 2020.08.25 [CSS] Selector: class, id (0) 2020.08.24 -