본문 바로가기

컴퓨터이론

[기초 이론] 1. HTTP와 프로토콜

1-1.HTTP

-인터넷에서 데이터를 주고받을 수 있는 프로토콜

hypher text transfer protocol의 약자

 

 

∨ 특징

  • 애플리케이션 레벨의 프로토콜로 TCP/IP위에서 작동 -TCP3 ways hand shaking

  • 통신이 끊나면 바로 서버와 클라이언트의 접속이 끊김 = 비연결 지향형

  • 로그아웃해도 정보를 유지하지 않는다. ← 이것을 보완하기 위해 쿠키 등 사용한다.

  • 암호화 하지 않은 상태로 전송한다. ← https는 암호화해서 전송한다.

  • 단방향성의 성질을 가지고 있다. →보낸 사람이 누군지 모르고 동일하게 처리한다.

  • 기본적으로 80번째 port를 사용한다.

< HTTP의 구조>

(1) Request

 

  • 구성: 요청라인 + 헤더 (HEADER) + 공백 (CRLF) + 바디 (BODY)

① 요청라인: method + URL + 버전

 

∨method 종류

  • GET : 서버의 자료 요청

        ∨특징 : URL에 요청정보 담아 전송

  • POST: 서버에서 작업 수행​

        ∨특징 :  BODY에 요청정보 담아 전송

                        글자수 제한X

                        게시글을 작성 수정 가능

  • HEAD : HTTP header 정보만 수신

  • TRACE : 메시지가 최종 목적지에 갈 때 까지의 경로를 기록하는 루프백 테스트

  • DELETE : URL에서 자원을 지움

  • PUT : 메시지 바디의 내용을 지정된 URL에 저장 // 첨부파일

  • OPTIONS : 서버에서 지원하는 메소드 요청 //첨부파일

  • CONNECT : 터널링 목적으로 연결 요청

⇒ GET & POST: 데이터 전달 양 또는 게시물을 받거나 작성하는 것에 따라 두 개를 나눠쓴다.​

②헤더

  • ​General Header: 클라이언트, 서버 또는 http와 관계된 정보
  • Request Header: 요청 형식과 서버의 매개변수
  • Response Header: 응답을 보내는 서버에 대한 정보
  • Entity Header

③공백: 캐리지 리턴, 라인피드를 기준으로 헤더와 바디를 나눈다

④본문 : 전송하고자 하는 메시지

  • GET방식: 공백

  • POST방식: 메시지

(2) RESPONSE

 

① 상태 라인 : HTTP + 버전 + 응답코드

  • 메시지 정보 : header

  • CRLF :공백

  • BODY: 본문

② 종류

200: 요청이 성공적으로 수행 되었다.

403: 접근 금지 : 접근차단

404: 요청한 페이지 없음

500: 서버에 오류가 발생해 요청 수행 불가능

1-: 조건부 응답

2-: 성공

3-: 재전송

4-: 클라이언트 오류

5-: 서버 오류


1-2. 프로토콜

- 교환되는 데이터의 형태를 약속

  • 통신의 복잡성으로 인하여 서로 다른기능을 수행하는 다중의 프로토콜 층 형태로 이뤄진 다수의 통신 프로토콜을 사용

  • 에러감시, 에러제거, 주소지정, 흐름제어

 

(1) OSI 7계층

 

 

① Application: 사용자가 사용하는 네트워크 프로세서들이 있는 프로토콜 계층

  • 최대한 효율적으로 제공

② Presentation: 데이터를 컴퓨터가 이해할 방법으로 변환

  • 데이터를 교환하기 위해 함께 일하는 응용 층들을 어떻게 데이터를 표현할 지 동의해야한다.
  • 표준 데이터의 표현루틴 제공

③ Session: 상대방 자리에 완벽히 재구성하는 과정

  • transport 개체간의 연결에 있어서 메시지 교환을 제어

  • 전송방향의 변경, 연결에 대한 인터럽트 후 세션의 재시작등을 관리

④ Transport: 수신측이 전송된 데이터를 그대로 받을 수 있도록 보장함

  • TCP/IP의 TCP 및 UDP가 속함

  • 연결위주: 데이터 교환이 이뤄짐

  • 비연결형은 단순 전송

  • 상대방에게 전송

⑤ Network : IP 경로설정

  • network를 통한 연결을 관리

  • 패킷을 교환노드에 전송하는 방법 → 가상경로만듬

  • TCP-IP의 네트워크층을 IP로 봄

⑥ Datalink: 전송매체에 연결된 스테이션들에 주소를 지정

  • 신뢰할 수 잇는 정보의 전송을 보장
  • 노드 대 노드

⑦ Physical: 데이터 전송 신호를 운반하는데 요구되는 하드웨어의 특성 정의

                        전압 레벨과 인터페이스(연결장치) 핀의 위치와 수 등을 정의

  • 예시: 케이블


1-3. 웹 구성

 

-클라이언트 + HTTP/HTTPS  + 웹 서버 + 어플리케이션 + 연결부 + DB

 

 

 

  • 웹브라우저에서 웹서버에 요청을 보내면 요청된 페이지에 데이터 베이스의 연동을 위해 어플리케이션을 사용한다.

①웹 브라우저: 웹에서 클라이언트

②웹 서버: 어플리케이션 서버에 이들의 처리를 요청하는 작업

  •  웹 서버는 필요한 컨테이너를 나눠준다.​

③웹 어플리케이션: 서버와 데이터베이스와의 연동

④데이터 베이스: 정보 저장됨