CS지식/네트워크

HTTP 요청, 응답 프로토콜 | TIL_144

ran4 2022. 9. 16. 23:14

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 창에 아래의 코드를 입력 

 

> 요청방식 (공백을 생략하면 안된다)/ HTTP/버전

헤더가 없이 요청했기 때문에 400 Bad Request가 응답으로 온다

 

 

네이버 또한 동일하게 요청할 수 있다

 

 


 

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