[HTTP] 개요
[강의 출처] 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