CLOUD/Network

7계층 프로토콜 HTTP

alsruds 2023. 2. 2. 17:34

[ HTTP Protocol ]

● HTTP Protocol

》 웹을 만드는 기술들

  • HTTP ( + 보안 -> HTTPS ) : HTML/Javascript/CSS 같은 파일을 웹 서버에 요청하고 받아옴
  • HTML : 웹 페이지의 내용
  • Javascript : 웹 페이지의 기능
  • CSS : 웹 페이지의 디자인
  • ASP / ASP.NET, JSP, PHP : 웹 서버 페이지를 만듦
  • DB
  • Python
  • Spring
  • Jquery
  • Ajax

》 Request / Response 동작 기반 서비스 제공

》 HTTP 1.0 : 단순 동작 (연결 수립, 동작, 연결 해제), 하나의 URL은 하나의 TCP 연결

》 HTTP 1.1 : Multiple Request 처리 가능, 하나의 IP 에 다수의 Web 연결 가능, 빠른 속도, 데이터 압축 전달

 

[ HTTP 요청 프로토콜 ]

● HTTP 요청 프로토콜의 구조

요청하는 방식 정의

클라이언트의 정보 보유

Request Line
Headers
공백
Body

 

  • Request Line 
요청 타입 공백 URI 공백 HTTP 버전

          ☞ (Example) GET /produ/content.asp?code=sch-v310 HTTP/1.1

                요청 타입 : GET

                공백 : ' '

                URI : /produ/ ... v310

                공백 : ' '

                HTTP 버전 : HTTP/1.1

 

● HTTP 메소드 요청 방식

메소드 종류 설명
GET 클라이언트 -> 서버 : 문서 읽어옴
POST 클라이언트 -> 서버 : 정보 전송
PUT 클라이언트 -> 서버 : 자원 업로드
... ...
  • GET 과 POST 의 차이점
    • GET : URI 에 정보가 포함됨 -> 보안성 ↓ , 간단한 데이터
    • POST : Body 에 정보가 포함됨 -> 보안성 ↑ , 용량이 크거나 중요한 정보

 

[ HTTP 응답 프로토콜 ]

● HTTP 응답 프로토콜의 구조

사용자가 볼 웹 페이지를 담고 있음

Status Line
Headers
공백
Body

 

  • (Example)

  • Status Line : HTTP/1.1 200 OK
  • Headers : Date ~ Cache-control: private
  • Body : <html> ~

 

  • Status Line
HTTP 버전 공백 상태 코드 공백 상태 문구

     》 상태 코드 + 상태 문구 -> 상태 코드가 있으면 상태 문구가 정해짐

 

  • 상태 코드
상태 코드 종류 설명
100 ~ 199 단순 정보
200 ~ 299 Client 의 요청 성공
300 ~ 399 Client 의 요청이 수행되지 않아 다른 URL 로 재지정
400 ~ 499 Client 의 요청이 불완전하여 다른 정보가 필요
500 ~ 599 Server 의 오류를 만나거나 Client 의 요청 수행 불가

    》 200번대 : 정상 작동

상태 코드 종류 상태 문구 설명
200 OK Client 요청 성공

 

    》 400번대 : Client 잘못 - 권한 없는 페이지 접근(403) / 서버 없는 페이지 접근(404)

상태 코드 종류 상태 문구 설명
403 Forbidden Client 가 권한이 없는 페이지 요청
404 Not Found Client 가 서버에 없는 페이지 요청

 

    》 500번대 : Server 잘못 - 잘못된 코드 작성(500) / 최대 세션 수 초과(503)

상태 코드 종류 상태 문구 설명
500 Internal Server Error Server 의 일부가 멈췄거나 설정 오류
503 Service Unavailable 최대 Session 수 초과

 

[ HTTP 헤더 포맷 ]

● 일반 헤더

》 일반적인 정보를 담고 있음

헤더 종류 설명
Content - Length 메세지 Body 길이
Content - Type 메세지 Body 에 들어있는 컨텐츠 종류 (ex. text/html)

 

● 요청 헤더

》 클라이언트 정보를 담고 있음

헤더 종류 설명
Cookie 서버에서 받은 쿠키를 다시 서버로 보내주는 역할
(Client 에서 사용자 정보 저장)
Host 요청된 URL 에 나타난 호스트명을 상세히 표시
User - Agent Client Program 에 대한 식별 가능 정보 제공

 

응답 헤더

서버 정보를 담고 있음

헤더 종류 설명
Server 사용 중인 웹 서버의 소포트웨어 정보 포함
Set - Cookie 쿠키 생성 후 브라우저에 보낼 때 사용,
쿠키를 브라우저에서 서버로 다시 보낼 때 사용

'CLOUD > Network' 카테고리의 다른 글

NAT 와 포트포워딩  (0) 2023.02.01
연결지향형 TCP 프로토콜  (0) 2023.02.01
비연결지향형 UDP Protocol  (0) 2023.01.31
컴퓨터 프로그램의 데이터 통신  (0) 2023.01.31
멀리 있는 컴퓨터의 데이터 통신  (0) 2023.01.31