HTTP프로토콜
웹을 만들기 위해 사용되는 다양한 기술들이 있다
HTTP, HTML, Javascript, CSS, ASP/ASP.NET, JSP, PHP, DB 정도는 필수로 알아야한다.
Python, Spring, Jquery, Ajax같은 추가적인것들도 있다.
HTTP 프토콜의 특징
HyperText Transfer Protocol (하이퍼 텍스트 전송 프로토콜)
www에서 쓰이는 핵심 프로토콜로 문서의 전송을 위해 쓰이며, 오늘날 거의 모든 웹 애플리케이션에서 사용되고 있다.
-> 음성, 화상 등 여러 종류의 데이터를 MIME로 정의하여 전송 가능
HTTP 특징
Request / Response (요청/응답) 동작에 기반하여 서비스 제공
HTTP 1.0의 특징
" 연결 수립, 동작, 연결 해제"의 단순함이 특징
-> 하나의 URL은 하나의 TCP 연결
HTML 문서를 전송 받은 뒤 연결을 끊고 다시 연결하여 데이터를 전송한다.
HTTP 1.0의 문제점
단순 동작 (연결 수립, 동작, 연결 해제 ) 이 반복되어 통신 부하 문제 발생
HTTP 1.1의 특징
HTTP 1.0과 호환 가능
Multiple Request 처리가 가능하여 Client의 Request가 많을 경우 연속적인 응답
제공 -> Pipeline 방식의 Request / Response 진행
HTTP 1.0과는 달리 Server가 갖는 하나의 IP Address와 다수의 Web site 연결 가능
HTTP 1.1
빠른 속도와 Internet Protocol 설계에 최적화될 수 있도록 Cache 사용 Data를 압
축해서 전달이 가능하도록 하여 전달하는 Data 양이 감소
HTTP 요청 프로토콜의 구조
실제 프로토콜의 구조 사진
Request Line의 구조
HTTP 메소드 요청방식 종류
GET 방식과 POST 방식의 차이점
GET 방식은 사람들이 볼수있도록 주소창에 포함이되고
POST 방식은 패킷캡쳐를 안하면 못보게 Body에 포함이 된다.
예를들면 보통 로그인을 하면 내 아이디 비밀번호가 주소창에 뜨면 안되니까 POST방식으로 쓰인다.
URI(Uniform Resource Identifier)의 구조
URI는 인터넷 상에서 특정 자원(파일)을 나타내는 유일한 주소이다.
scheme ://host[:port][/path][?query]
ex) ftp ://IP주소 :포트 /파일이름
http ://IP주소 : 포트 /폴더이름/파일이름
도메인주소
URI 이해를 위한 실습 강의는
https://www.youtube.com/watch?v=HBojczyd1Ac&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=32
HTTP 응답 프로토콜의 구조
실제 프로토콜의 구조 사진
Status Line의 구조
상태 코드의 종류
상태코드종류 | 상태문구 | 설명 |
200 | OK | Client의 요청이 성공했다는것을 나타낸다. |
403 | Forbidden | Client가 권한이 없는 페이지를 요청했을때 |
404 | Not Found | Client가 서버에 없는 페이지를 요청했을 때 |
500 | Internal Server Error | Server의 일부가 멈췄거나 설정오류가 발생 |
503 | Service Unavailable | 최대 Session 수를 초과했을 때 |
HTTP 헤더 포맷
일반적인 정보를 담고 있는 일반헤더
Content-Length - 메시지 바디 길이를 나타낼 때 쓰인다.
Content-Type - 메시지 바디에 들어있는 컨테츠 종류
클라이언트 정보를 담고 있는 요청헤더
Cookie - 서버로부터 받은 쿠키를 다시 서버에게 보내주는 역할을 한다.
Host - 요청된 URL에 나타난 호스트명을 상세하게 표시(HTTP 1.1은 필수)
User-Agent - Client Program에 대한 식별 가능 정보를 제공
서버 정보를 담고 있는 응답헤더
Server - 사용하고 있는 웹서버의 소프트웨어에 대한 정보를 포함
Set-Cookie - 쿠키를 생성하고 브라우저에 보낼 때 사용. 해당 쿠키 값을 브라우저가 서버에게 다시 보낼 때 사용한다.
자세한 HTTP프토콜 분석 실습은
https://www.youtube.com/watch?v=dhMrKTwNI8U&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=35
'네트워크 끄적끄적' 카테고리의 다른 글
2023/01/17 NAT,포트포워딩 (0) | 2023.01.17 |
---|---|
2023/01/16 UDP,TCP (0) | 2023.01.16 |
2023/01/13 4계층 프로토콜 (0) | 2023.01.13 |
2023/01/12 IPv4, ICMP, 라우팅테이블, 조각화 (0) | 2023.01.12 |
2023/01/11 ARP 프로토콜 (0) | 2023.01.11 |