웹 클라이언트 ->요청---------- http프로토콜 ---------- 응답<- 웹서버
웹 클라이언트
ex)크롬, 인터넷익스플로어,개발자가 만든 클라이언트
웹서버
장고를 이용해 만든 웹서버
웹 서버에 요청을 보는 웹 클라이언트 만들기
http(hypertext transfer protocol)은 웹서버와 웹 클라이언트 사이에서 데이터를 주고 받기 위해 사용하는 통신 방식
tcp/ip 프로토콜 위에서 동작
스타트 라인 <-요청라인 or 상태라인
헤더 <- 생략가능
빈줄 <- 레더의 끝을 빈 줄로 식별
바디 <- 생략가능
스타트 라인(요청라인)구성
요청 방식(method),요청 URL, 프로토콜 버전
스타트 라인(상태라인)구성
프로토콜 버전, 상태 코드, 상태 텍스트
메소드 종류
메소드명-의미-CRUD와 매핑되는 역할
get - 리소드 취득 - READ(조회)
post - 리소스 생성,리소스 데이터 추가 - Create(생성)
put - 리소스 변경 - UPDATE(변경)
delete 리소스 삭제 - Delete(삭제)
Head - 리소드 헤더 취득
options - 리소스가 서포트하는 메소드 취득
trace - 루프백 시험에 사용
connect - 프록시 동작의 터널 접속으로 변경
상태코드 분류
1xx - 정보 제공 - 임시적인 응답, 현재 클라이언트의 요청까지 처리됨
2xx - 성공 - 클라이언트의 요청이 서버에서 성공적으로 처리됨
3xx - 리다이렉션 - 완전한 처리를 위해서 추가적인 동작을 필요로 하는 경우, 그 주소도 다시 시도해봐라
4xx - 클라이언트 에러 - 없는 페이지 요청 처럼 클라이언트 요청 메세지 내용이 잘못됨
5xx - 서버 에러 - 서버 측 사정에 의해 메세지 처리에 문제가 발생,서버부하 등
http://www.example.com:80/services?category=2&kind=patenets#n10
-URL 스킴(http://) : URL에 사용되는 프로토콜을 의미
-호스트명(/www.example.com) : 웹서버의 호스트명으로 도메인명 또는 ip주소
-포트번호(:80) : 웹 서버 내의 서비스 포트번호, 생량시 디폴트 포트번호 http는 80,https는 443
-경로(services?) : 파일이나 애플리케이션 경로
-쿼리스트링(category=2&kind=patenets) : 질의 문자로 &구분된 이름 = 값형식
-프라그먼트(n10) : 문서 내의 앵커 등 조각을 지정