TCP/IP 기초와 JAVA/C#을 활용한 네트워크 프로그래밍 4장

신범철·2021년 12월 8일
0

21-2네트워크수업

목록 보기
4/5

HTTTPS

프로토콜

  • 컴퓨터간에 정보를 주고 받을때의 통신 방법에 대한 규칙과 약속
  • 정보기기 사이에서 정보교환이 필요한 경우, 이를 원활하게 하기 위하여 정한 약속
  • 상호간의 접속이나 전달방식, 통신방식 주고 받을 자료의 형식, 오류검출방식, 코드변환방식, 전송속도 등에 대한 것.

프로토콜의 종류

  • 2계층 프로토콜 : Ethernet(CSMA/CD) //frame
  • 3계층 프로토콜 : IP //packet
  • 4계층 프로토콜 : TCP/IP //세그먼트

차이점

  • 프레임/패킷/세그먼트 포맷

공통점

  • 목적
    -프레임/패킷/세그먼트 포맷( 헤더와 바디(데이터))
  • 데이터 표현방식(2진수)

응용계층 프로토콜

  • HTTP(Hyper Text Transfer Protocol)
  • FTP(File Transfer Protocol)
  • Telnet(Tele network)
  • SMTP(Simple Mail Transfer Protocol)
  • POP (Post Office Protocol)

HTTP(Hyper Text Transfer Protocol)

정의 : TCP/IP 프로토콜 상에서 텍스트 형태의 메시지를 웹 서버와 클라이언트 사이에서 서로 주고받는 방식

프레임 포맷

  • TCP/IP사용

메세지 포맷

  • 시작라인 : 요청과 응답으로 나뉨
  • 클라이언트/서버 통신

HTTP Request Message

메세지 포맷

  • 제일 먼저 메세지 시작라인으로 요청 라인이 오고
  • 다음 복수개의 헤더
  • 제어문자인 CRLF에 의해 줄이 바뀐 후
  • 다음 줄에 바디 부분이 온다.

요청시 메서드

  • get 메서드 : 정보를 응답(response) 메세지의 바디 부분에 넣어 전달해 달라고 서버에 요청
  • HEAD 메서드 : GET메서드와 기본 기능은 같으나 서버에서 보내오는 응답(response) 메세지의 바디부분은 비어있다. 즉 헤더 부분의 정보만 필요할 경우
  • POST 메서드 : 클라이언트에서 보낸 내용을 웹서버에서 쓰고자 할때 사용, 바디로 묶어서 보냄


HTTP 응답(response) 메세지 포맷

  • 제일 먼저 상태 코드(status code)가 들어 있는 상태 라인(status-line)이 오고
  • 다음 복수개의 헤더가 오며
  • CRLF에 의해 줄이 바뀐 후
  • 바디 본문이 들어온다.

응답시 상태 코드 종류


200 : OK
301 : Request-URL의 위치가 완전히 다른 주소로 이동되었다.
304 : 변경 사항이 없으므로 내용을 그래도 사용해라
403 : 서버에서 클라이언트에게 금지된 영역을 접근하려는 경우 요청 거부하면서 발생
404 : 클라이언트가 요청한 Request-URL이 없는 경우
503 : 서버가 과부하가 걸린경우

+웹설 정비자료 확인하기

HTTP 헤더

  • 헤더 필드명 + 값의 형태로
  • 한줄에 하나씩, 한 줄 끝나면 줄바꿈
  • 헤더는 여러개 올수 있음
  • 헤더가 끝나면 빈 줄을 하나 넣고 바디 시작
profile
https://github.com/beombu

0개의 댓글