https://www.youtube.com/playlist?list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi
위의 강의를 듣고 정리한 내용입니다
HTTP 요청 프로토콜의 구조 요청 타입 URI
URI이란?
인터넷 상에서 특정 자원(파일)을 나타내는 유일한 주소이다
Uniform Resource Identifier의 약자이다
-> 서버에 저장된 파일의 주소값이다
URI의 구조
scheme://host:portNum/path?query
http://IP주소(도메인주소):포트/폴더이름/(요청한)파일이름
예시
http://localhost:8080/member?id=1
어떠한 원격 파일의 폴더를 호출하여 요청을하는 방식이다
도메인 주소를 IP 주소로 변환하는 것을 DNS(도메인 이름 시스템)라고 한다
포트번호는 :80 또는 :443으로 할당되며, HTTPS인 경우 생략되어 있다
* URL은 위치를 나타내는 Locator이다
** 최신의 uri는 위와 다르게 복잡하게 구성된다.
실습
HTTP 작성 실습
보내는 메시지가 HTTP 프로토콜 형식을 가지고 있는 경우
-> 클라이언트로 웹 서버를 접속
cmd 창에 아래의 코드를 입력
- c:\netcat-1.11\nc.exe www.nate.com 80
- GET / HTTP/1.1
> 요청방식 (공백을 생략하면 안된다)/ HTTP/버전
헤더가 없이 요청했기 때문에 400 Bad Request가 응답으로 온다
네이버 또한 동일하게 요청할 수 있다
- c:\netcat-1.11\nc.exe www.naver.com 80
- GET / HTTP/1.1
HTTP 응답 프로토콜
간략한 구조
Status Line | Headers | 공백 | Body |
Headers : 요청 헤더, 응답 헤더, 요청 & 응답 헤더
Body : 사용자가 요청한 데이터가 들어간다
HTTP 버전 | 공백 | 상태 코드 | 공백 | 상태 문구 |
상태 코드와 상태 문구는 상태코드 하나만 알아도 무방하다
상태 코드의 종류
상태 코드 종류 | 설명 |
100 ~ 199 | 단순한 정보 |
200 ~ 299 | Client의 요청이 성공 |
300 ~ 399 | Client의 요청이 수행되지 않아 다른 URL로 재지정 |
400 ~ 499 | Client의 요청이 불완전하여 다른 정보가 필요 |
500 ~ 599 | Server의 오류를 만나거나 Client의 요청 수행 불가 |
200번대 대역 : 정상적으로 처리가 되었을 때를 의미한다
400번대 대역 : 클라이언트의 문제. 서버에 권한이 없는데 요청을 하거나 uri를 잘못 입력한 경우
500번대 대역 : 서버의 문제. 서버의 프로그램이 터지거나, 코드에 이상이 있는 경우
성공적인 통신 200 OK
클라이언트의 요청이 성공했다는 것을 나타낸다
보통은 정상적인 페이지가 웹 브라우저에 뜨기 때문에 볼 일이 없는 코드이다
403 Forbidden
클라이언트가 권한이 없는 페이지를 요청했을 때 발생한다
404 Not Found
클라이언트가 서버에 없는 페이지를 요청했을 때 발생한다
500 Interval Server Error
서버의 일부가 멈췄거나 설정 오류가 발생한다
보통은 개발 코드를 잘못 친 경우 발생한다
503 Service Unavailable
최대 세션의 수를 초과했을 때 발생한다
'CS지식 > 네트워크' 카테고리의 다른 글
HTTP 헤더 포맷 | TIL_145 (0) | 2022.09.19 |
---|---|
HTTP 메서드 | TIL_143 (0) | 2022.09.14 |
7계층 프로토콜 HTTP | TIL_142 (0) | 2022.09.12 |
NAT와 포트포워딩 | TIL_141 (0) | 2022.09.07 |
TIL 정리_130(TCP 전송, 상태) (0) | 2022.08.05 |