- 11. 7계층 프로토콜 HTTP2023년 02월 06일 17시 51분 24초에 업로드 된 글입니다.작성자: 각수짱728x90반응형SMALL
HTTP 프로토콜
웹을 만드는 기술들
- HTTP (HTTPS → SSL/TLS) → HTML과 JS와 CSS 같은 파일을 웹 서버에 요청하고 받아오는 프로토콜
- HTML → 웹 페이지를 채울 내용
- Javascript → 웹 페이지에 들어갈 기능
- CSS → 웹 페이지를 예쁘게 꾸밀 디자인
- ASP/ASP.NET → 웹 서버 페이지를 만드는 기술
- JSP → 웹 서버 페이지를 만드는 기술
- PHP → 웹 서버 페이지를 만드는 기술
- DB → 웹 서버 페이지를 만드는 기술
↑필수
↓선택
- Python
- Spring
- Jquery
- Ajax
HTTP 프로토콜의 특징
HyperText Transfer Protocol (하이퍼 텍스트 전송 프로토콜)
www에서 쓰이는 핵심 프로토콜로 문서의 전송을 위해 쓰이며, 오늘날 거의 모든 웹 애플리케이션에서 사용되고 있다.
→ 음성, 화상 등 여러 종류의 데이터를 MIME로 정의하여 전송 가능
HTTP 특징
Request / Response ( 요청 / 응답) 동작에 기반하여 서비스 제공
HTTP 1.0의 특징
"연결 수립, 동작, 연결 해제"의 단순함이 특징 → 하나의 URL은 하나의 TCP 연결
HTML 문서를 전송받은 뒤 연결을 끊고 다시 연결하여 데이터를 전송한다.
HTTP 1.0의 문제점
단순 동작 (연결 수립, 동작, 연결 해제)이 반복되어 통신 부하 문제 발생
HTTP 프로토콜의 통신 과정
버전 1.0 : 처음으로 널리 사용된 버전,
버전 1.1 : 1.0 버전을 호환하면서 1.0의 문제점을 보완
HTTP 요청 프로토콜
HTTP 요청 프로토콜의 구조
HTTP 요청 프로토콜
헤더(리퀘스트 라인) : [요청 메소드] [공백] [요청 URI] [공백] HTTP/1.1
ex) GET / HTTP/1.1
요청 메소드
메소드 종류 설명 GET Client가 Server로부터 문서를 읽어오려 할 때 사용 HEAD Client가 문서가 아닌 문서에 대한 특정 정보를 원할 경우 사용 POST Client가 Server에게 어떤 정보를 전송할 때 사용 PUT Client가 Server에 특정 자원을 업로드할 때 사용 PATCH PUT과 비슷함, 기존 파일에서 변경사항만을 포함 COPY 파일을 다른 위치로 복사하기 위해 사용 MOVE 파일을 다른 위치로 이동하기 위해 사용 DELETE Server에서 문서를 제거하기 위해 사용 LINK 문서에서 다른 위치로의 링크를 생성하기 위해 사용 UNLINK LINK Method에 의해 생성된 링크를 삭제하기 위해 사용 OPTION Client가 Server에게 사용 가능한 옵션을 질의하기 위해 사용 URI : 인터넷상에서 특정 자원(파일)을 나타내는 유일한 주소
scheme ://host[:port] [/path] [?query]
scheme : 어떤 프로토콜로 받아올 것인가? [:port 포트번호] [/path 파일, 폴더] [?query 서버전달(도메인주소)]
ex) ftp ://IP주소 :포트 /파일이름
http ://IP주소 :포트 /폴더이름 /파일이름
도메인주소
헤더(옵션) :
Host : [서버 도메인 or 서버 IP]
User-Agent 클라이언트의 프로그램에 대한 설명
Referer 어떤 페이지에서 현재 요청하는 페이지로 이동하는지 알려주는 정보
바디 : 데이터
HTTP 응답 프로토콜
HTTP 응답 프로토콜의 구조
HTTP 응답 프로토콜
헤더(상태 라인) : HTTP/1.1 [공백] [상태코드] [공백] [상태 메시지]
ex) HTTP/1.1 400 Bad Request
서버가 알려주는 여러 가지 정보인 상태코드
상태 코드 종류 설명 100 ~ 199 단순한 정보 200 ~ 299 Client의 요청이 성공 300 ~ 399 Client의 요청이 수행되지 않아 다른 URL로 재지정 400 ~ 499 Client의 요청이 불완전하여 다른 정보가 필요 (Client 오류) 500 ~ 599 Server의 오류를 만나거나 Client의 요청 수행 불가 (Server 오류) 상태 코드 종류 상태 문구 설명 200 OK Client의 요청이 성공했다는 것을 나타낸다. 상태 코드 종류 상태 문구 설명 403 Forbidden Client가 권한이 없는 페이지를 요청했을 때 404 Not Found Client가 서버에 없는 페이지를 요청했을때 상태 코드 종류 상태 문구 설명 500 Internal Server Error Server의 일부가 멈췄거나 설정 오류가 발생 503 Service Unavailable 최대 Session 수를 초과했을 떄
HTTP 헤더 포맷
HTTP 헤더 구조
일반적인 정보를 담고 있는 일반 헤더
헤더 종류 설명 Content-Length 메세지 바디 길이를 나타날 때 쓰인다 Content-Type 메세지 바디에 들어있는 컨텐츠 종류
(ex: HTML 문서는 text/html)클라이언트 정보를 담고 있는 요청 헤더
헤더 종류 설명 Cookie 서버로부터 받은 쿠키를 다시 서버에게 보내주는 역할을 한다 Host 요청된 URL에 나타난 호스트명을 상세하게 표시
(HTTP 1.1은 필수)User-Agent Client Program에 대한 식별 기능 정보를 제공 서버 정보를 담고 있는 응답 헤더
헤더 종류 설명 Server 사용하고 있는 웹서버의 소프트웨어에 대한 정보를 포함 Set-Cookie 쿠키를 생성하고 브라우저에 보낼 때 사용. 해당 쿠키 값을 브라우저가 서버에게 다시 보낼 때 사용한다 728x90반응형LIST'네트워크 기초' 카테고리의 다른 글
10. NAT와 포트포워딩 (0) 2023.02.06 9. 연결지향형 TCP 프로토콜 (0) 2023.02.05 8. 비연결지향형 UDP 프로토콜 (0) 2023.02.03 7. 컴퓨터의 프로그램끼리는 이렇게 데이터를 주고 받는다 (0) 2023.02.03 6. 멀리 있는 컴퓨터끼리는 이렇게 데이터를 주고받는다. (0) 2023.02.02 이전글이 없습니다.댓글