HTTP 응답 프로토콜
HTTP 응답 프로토콜의 구조


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

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

-
200 : 성공적인 통신

-
400 : 클라이언트의 실수, 잘못, 오류
- 403 : 관리자용과 일반용을 같이 올렸을 때(권한이 없는, 관계자외 출입금지)
- 404 : 서버에 없는 자원을 요청

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

HTTP 헤더 포맷
- 추가적인 정보를 담는 것
- 주고 받는 데이터의 종류가 이것이다
HTTP 헤더 구조

일반헤더

- 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문서에 어디를 수정해야하는지 쉽게 찾을 수 있다.