-
HTTP 구조대학 수업/네트워크 2024. 11. 20. 11:09
P.156 method 종류
URI : uniform resource identifier - 통합 자원 식별자
인터넷에 있는 특정 자원(파일)을 나타내는 유일한 주소 : 각종 정보들의 유일한 이름이나 위치
URL : uniform resource locator
scheme : //host[:port][path][?query]
스키마 : http,https,telnet,ftp
ip : host
port : 프로그램 주소
path : 서버 프로그램에 설정된 특정 위치 기준 h클라이언트가 받고 싶은 파일 경로
query : ?
HTTP 요청 헤더
클라이언트와 서버가 데이터를 주고받으면서 필요한 추가 정보 제공
Host : URL 에서 호스트 주소와 포트번호 서정
User-Agent : 운영체제 버젼, 웹 브라우저 버젼 등 클라이언트의 프로그램 정보 설정
Cookie : 이전에 서버에서 받은 정보가 있다면 쿠키에 포함하여 서버에 전송
Content-Type : 주고 받는 데이터 양식?
HTTP 요청 Body
Post method?
서버 : 클라이언트 요청에 응답 역할
방식에 따라 웹서버, 웹 어플래케이션 서버, 데이터베이스 서버 로 나눠진다.
웹서버
단순히 서버에 저장된 웹페이지(HTML,css,js 등)나 이미지, 음성, 동영상 등을 HTTP 응답 프로토콜에 담아 클라이언트에게 보낸다.
정적 데이터 : 저장된 파일의 내용을 변경하지 않고 그대로 보내는 것
웹 어플리케이션 서버
그냥 보내지 않고, 프로그래밍 언어 코드 실행하여 서버 컴퓨터나 데이터베이스 서버에 저장된 내용을 불러와 처리한 후 결과를 HTTP 응답 프로토콜에 담아 클라이언트에 보낸다.
동적 데이터 : 파일의 내용을 처리한 후 변경할 내용이 있으면 변경해서 보냄
HTTP 응답 프로토콜 구조
Status Line - Header - 공백(enter*1) - Body
HTTP 버젼 - 상태코드 - 상태문구
상태코드 : 서버가 알려주는 정보 : 1~5백번대 자리
100 : 클라이언트 요청 받았고 처리중
200 : 서버가 요청을 정상으로 받고, 정상으로 처리했음을 의미 | 성공적 통신 : 웹페이지 표시(상태코드 표시X)
300 : 클라이언트 요청을 위해 추가 동작 필요
- 301 : 서버가 클라에 요청한 주소가 변경됨(영구)
- 307 : 일시적
400 : 클라이언트 요청이 잘못되었음
- 400 : 요청 이해 불가, 보내야할 데이터 보내지 않은 경우 : Bad Request
- 401 : 로그인하지 않고 접근 제한 : Unauthorized
- 403 : 로그인 하고 접근 제한 : Forbidden
- 404 : 서버에 없는 페이지 요청시 : Not Found
500 : 서버에서 클라이언트 요청 처리 중 문제 발생
- 500 : 클라이언트의 요청 간 서버 처리 중 오류 발생 //일반적으로 개발자가 코드를 잘못 작성했을 때 : ISE
- 503 : 너무 많은 사용자 동시 접속 or 사용불가 시 : Service Unavailable
일반 header :
Content-Length : 메세지 바디 길이
Content-Type : 메세지 바디 컨텐츠 종류
요청 header :
Cookie : 서버로부터 받은 쿠키를 다시 서버에게 보내주는 역할
Host : 요청된 URL 에 나타난 호스트명 상세 표시(1.1이상)
User-Agent : Client 프로그램에 대한 시별 가능 정보 제공
응답 header :
Server : 사용하고 있는 웹서버의 소프트웨어에 대한 정보 포함 :ASP.NET
Set-Cookie : 쿠키를 생성하고 보낼 때 사용, 해당 쿠키 값을 브라우저가 서버에게 다시 보낼때 사용
응답 body :
실제 내용 : 타입과 내용
개발자가 개발한 코드가 어디서 실행되는지로 구분 : 역할, 책임구분을 통한 효율적 개발 및 유지보수
서버의 부하 분산을 위하여 : 분산네트워크 : 어떻게 서비스가 될 것인지에 대해 알아야 한다
보안을 위하여 : F code는 클라이언트 컴퓨터에 다운로드되고 실행됨 | 서버 내용은 벡엔드 단
서비스하는 양이 거대해짐 : 사용자의 증가 : 기존의 단일 서버의 불편함
-> 부하를 줄여 서비스를 빠르게 하겠다
Json(JavaScript Object Notation
'대학 수업 > 네트워크' 카테고리의 다른 글
DHCP - 도메인 (0) 2024.11.27 TCP 흐름, 혼잡 제어 (1) 2024.11.13 TCP - 진행 상태와 신뢰성 확보 방안 (0) 2024.11.07