웹의 데이터 이동 과정
이미지 출처 https://better-together.tistory.com/93
웹은 다음과 같은 특징이 있다
1) 실시간으로 볼 수 있는 최적화된 문서형식 - HTML
2) 문서 뷰어 - 브라우저
3) 특정 문서 식별 - URI / URL
4) 문서 연결/이동 기능 - 하이퍼링크
5) 문서 형식을 전송할 수 있는 네트워크 프로토콜 - HTTP
- 마크업의 다양한 요소
head, title, body, header, footer, article, section, p, div, span, img, aside, audio, canvas, datalist, details, embed, nav, output, progress, video, ul, ol, li 등등
GET : 클라이언트가 서버에게 URL에 해당하는 자료의 전송을 요청
HEAD : GET 요청으로 반활될 데이터 중 헤더 부분에 해당하는 데이터만 요청
POST : 클라이언트가 서버에서 처리할 수 있는 자료를 보냄
PATCH : 클라이언트가 서버에게 지정한 URL의 데이터를 붑준적으로 수정할 것을 요청
PUT : 클라이언트가 서버에게 지정한 URL에 지정한 데이터를 저장할 것을 요청
DELETE : 클라이언트가 서버에게 지정한 URL에 지정한 데이터를 제거할 것을 요청
TRACE : 클라이언트가 서버에게 송신한 요청의 내용을 반활해 줄 것을 요청
CONNECT : 클라이언트가 특정 종류의 프록시 서버에게 연결을 요청
OPTIONS : 해당 URL에서 지원하는 요청 메세지의 목록을 요청
1XX
- 100 : Continue
- 101 : Switching Protocols
- 102 : Processing - 사용자가 수신요청을 처리하고 있지만,
아직은 제대로 된 응답을 할 수 없는 상태- 103 Early Hints - Link 헤더와 함께 사용되며 주로 서버가 응답을 준비하는 동안
사용자가 사전로딩(PreLoading)을 할 수 있도록 하는 응답코드
2XX - 200, 204, 206만 서술
- 200 OK : 성공적으로 처리했을 때 쓰임. 가장 일반적으로 볼 수 있는 HTTP 상태
- 204 Created : 요청이 성공적으로 처리되어서 리소스가 만들어졌음을 의미
- 206 Partial Content : 컨텐츠의 일부 부분만 제공. 클라이언트에서 시작 범위나 다운로드할 범위를 지정한 경우 자동으로 해당 부분만 제공할 때 사용하는 코드
3XX - 301, 302만 서술
- 301 Moved Premanently : 영구적으로 컨텐츠가 이동했을 때 사용
- 302 Found : 일시적으로 컨텐츠가 이동했을 때 사용
4XX - 400, 401, 403, 404, 408만 서술
- 400 Bad Request : 요청 자체가 잘못되었을 때 사용하는 코드
- 401 Unauthorized : 인증이 필요한 리소스에 인즈 없이 접근한 경우 발생. 이 응답 코드를 사용할 때에는 반드시 브라우저에 어느 인증 방식을 사용할 것인지 보내야함 단순히 권이 없는 경우 이 응답 코드 대신 403을 사용해야함
- 403 Forbidden : 서버가 요청을 거부할 때 발생. 관리자가 해당 사용자를 차단했거나 서버에 index.html이 없는 경우에도 발생하며 권한이 없을 때 발생(로그인과 무관)
- 404 Not Found : 찾는 리소스가 없을 때 발생. 가장 흔하게 볼 수 있는 오류 코드
- 408 Reuqest Timeout : 요청 중 시간이 초과되었을 때 사용하는 코드
5XX - 500, 502, 503, 504만 서술
- 500 Internet Server Error : 서버에 오류가 발생해 작업을 수행할 수 없을 때 사용. 보통 설정이나 퍼미션 문제 아니면 HTTP요청을 통해 호출한 문서가 실제 HTML문서가 아니라 JSP, PHP, 서블릿 등의 프로그램일 경우 그 프로그램이 동작하다 각종 에러로 비정상 종료를 하는 경우
- 502 Bad Gateway : 게이트웨이가 연결된 서버로부터 잘못된 응답을 받았을 때 사용
- 503 Service Temporarily Unavailable : 서비스를 일시적으로 사용할 수 없을 때 사용. 웹서버등이 과부하로 다운되었을 때 발생
- 504 Gateway Timeout : 게이트웨이가 연결된 서버로부터 응답을 받을 수 없었을 때 사용