7계층 프로토콜 HTTP 2

이정훈·2023년 1월 31일
0

네트워크

목록 보기
14/15

HTTP 응답 프로토콜

HTTP 응답 프로토콜의 구조

  • 응답, 요청 공통으로 사용하는 헤더가 있고 따로 쓰는 헤더가 있다
  • 바디 부분에 클라이언트의 요청내용이 들어가게 된다.
  • 첫줄 status line
  • html 전까지 헤더
  • html 부분은 바디

  • 버전이 먼저 나온다.
  • 상태코드와 상태문구는 set로 움직인다.

상태코드

  • 200 : 성공적인 통신

  • 400 : 클라이언트의 실수, 잘못, 오류

    • 403 : 관리자용과 일반용을 같이 올렸을 때(권한이 없는, 관계자외 출입금지)
    • 404 : 서버에 없는 자원을 요청

  • 500 : 서버의 실수, 잘못, 오류
    • 500 : 코드를 잘못 작성
    • 503 : 서버 접속 session 초(수강신청, 인원접속제한)

  • 네이버 에서 status 상태를 확인 가능

HTTP 헤더 포맷

  • 추가적인 정보를 담는 것
  • 주고 받는 데이터의 종류가 이것이다

HTTP 헤더 구조

  • 5계층, 6계층이 7계층 응용에 포함

일반헤더

  • 6계층의 표현 부분
  • txt로 할건지 html로 할건지

요청헤더

  • 쿠키 : 클라이언트 pc 웹서버에 내용을 저장해 주는 역할 (장바구니에 남아있는 것들)
  • 세션 : 서버 pc 웹 서버에 내용을 저장(중요한 정보 저장, 그렇다고 모두 저장할 수는 없다. 보통 사용자 로그인 정보 저장)
  • host : 클라이언트가 무조건 써야함

응답헤더

  • set-cookie : 클라이언트에게 이 쿠키 저장해놔~
  • Server : 클라이언트가 서버에 접속하는데 그때 서버의 정보를 클라이언트에게 알려주는 것(좋은 서버는 정보를 잘 안주는 것이 좋다. 왜냐면 어떤 프로그램으로 서버를 만들었냐를 알면 취약점을 확인하여 공격할 수 가 있다.)

실습

  • 아파치 설치
    • vmpc1, 2를 서버와 클라이언트로 구성 아파치 웹서버를 설치
    • 서버는 프로그램 서버로 사용할 pc에 아파치를 설치하면 그 pc는 서버pc
    • 서버프로그램은 베리웹쉐어와 다르게 백그라운에서 실행(눈에 보이지 않는다)
    • 아파치vs17 설치 후 아파치24를 c드라이브에 옮겨 놓는다. 설치끝)
    • 실행 프로그램 폴더
    • htpd.exe 실행 (베리즈웹서버 꺼야한다. 왜냐면 같은 포트 번호를 사용하기 때문에 꺼줘야한다)
    • 데몬프로세스
    • PID확인
    • 아파치의 설정 프로그램, 메모장으로 열기
    • 설정파일 위치를 확인할 수 있는데 만약 다른곳에 있다면 수정해줘야한다.(기본설정이 C드라이브라서 C드라이브로 옮긴거다)
    • 숨겨진 경로 인데 Index.html은 생략이 가능하다 기본 페이지이니깐
  • 클라이언트 pc에서 서버 pc 웹서버 접속하기
  • HTTP 수정해서 서버PC에 연결시키기
    • Free Bootcamp Template 양식하나를 다운 받아 아파치24에 저장
    • html 파일들을 수정하여 화면과 같은 웹페이지 제작
    • F12누르고 왼쪽 상단 아이콘 선택 후 웹에 올려 보면 html문서에 어디를 수정해야하는지 쉽게 찾을 수 있다.
profile
싱숭생숭늉

0개의 댓글