[ HTTP Protocol ]
● HTTP Protocol
》 웹을 만드는 기술들
- HTTP ( + 보안 -> HTTPS ) : HTML/Javascript/CSS 같은 파일을 웹 서버에 요청하고 받아옴
- HTML : 웹 페이지의 내용
- Javascript : 웹 페이지의 기능
- CSS : 웹 페이지의 디자인
- ASP / ASP.NET, JSP, PHP : 웹 서버 페이지를 만듦
- DB
- Python
- Spring
- Jquery
- Ajax
》 Request / Response 동작 기반 서비스 제공
》 HTTP 1.0 : 단순 동작 (연결 수립, 동작, 연결 해제), 하나의 URL은 하나의 TCP 연결
》 HTTP 1.1 : Multiple Request 처리 가능, 하나의 IP 에 다수의 Web 연결 가능, 빠른 속도, 데이터 압축 전달
[ HTTP 요청 프로토콜 ]
● HTTP 요청 프로토콜의 구조
》 요청하는 방식 정의
》 클라이언트의 정보 보유
Request Line |
Headers |
공백 |
Body |
- Request Line
요청 타입 | 공백 | URI | 공백 | HTTP 버전 |
☞ (Example) GET /produ/content.asp?code=sch-v310 HTTP/1.1
☞ 요청 타입 : GET
☞ 공백 : ' '
☞ URI : /produ/ ... v310
☞ 공백 : ' '
☞ HTTP 버전 : HTTP/1.1
● HTTP 메소드 요청 방식
메소드 종류 | 설명 |
GET | 클라이언트 -> 서버 : 문서 읽어옴 |
POST | 클라이언트 -> 서버 : 정보 전송 |
PUT | 클라이언트 -> 서버 : 자원 업로드 |
... | ... |
- GET 과 POST 의 차이점
- GET : URI 에 정보가 포함됨 -> 보안성 ↓ , 간단한 데이터
- POST : Body 에 정보가 포함됨 -> 보안성 ↑ , 용량이 크거나 중요한 정보
[ HTTP 응답 프로토콜 ]
● HTTP 응답 프로토콜의 구조
》 사용자가 볼 웹 페이지를 담고 있음
Status Line |
Headers |
공백 |
Body |
- (Example)
- Status Line : HTTP/1.1 200 OK
- Headers : Date ~ Cache-control: private
- Body : <html> ~
- Status Line
HTTP 버전 | 공백 | 상태 코드 | 공백 | 상태 문구 |
》 상태 코드 + 상태 문구 -> 상태 코드가 있으면 상태 문구가 정해짐
- 상태 코드
상태 코드 종류 | 설명 |
100 ~ 199 | 단순 정보 |
200 ~ 299 | Client 의 요청 성공 |
300 ~ 399 | Client 의 요청이 수행되지 않아 다른 URL 로 재지정 |
400 ~ 499 | Client 의 요청이 불완전하여 다른 정보가 필요 |
500 ~ 599 | Server 의 오류를 만나거나 Client 의 요청 수행 불가 |
》 200번대 : 정상 작동
상태 코드 종류 | 상태 문구 | 설명 |
200 | OK | Client 요청 성공 |
》 400번대 : Client 잘못 - 권한 없는 페이지 접근(403) / 서버 없는 페이지 접근(404)
상태 코드 종류 | 상태 문구 | 설명 |
403 | Forbidden | Client 가 권한이 없는 페이지 요청 |
404 | Not Found | Client 가 서버에 없는 페이지 요청 |
》 500번대 : Server 잘못 - 잘못된 코드 작성(500) / 최대 세션 수 초과(503)
상태 코드 종류 | 상태 문구 | 설명 |
500 | Internal Server Error | Server 의 일부가 멈췄거나 설정 오류 |
503 | Service Unavailable | 최대 Session 수 초과 |
[ HTTP 헤더 포맷 ]
● 일반 헤더
》 일반적인 정보를 담고 있음
헤더 종류 | 설명 |
Content - Length | 메세지 Body 길이 |
Content - Type | 메세지 Body 에 들어있는 컨텐츠 종류 (ex. text/html) |
● 요청 헤더
》 클라이언트 정보를 담고 있음
헤더 종류 | 설명 |
Cookie | 서버에서 받은 쿠키를 다시 서버로 보내주는 역할 (Client 에서 사용자 정보 저장) |
Host | 요청된 URL 에 나타난 호스트명을 상세히 표시 |
User - Agent | Client Program 에 대한 식별 가능 정보 제공 |
● 응답 헤더
》 서버 정보를 담고 있음
헤더 종류 | 설명 |
Server | 사용 중인 웹 서버의 소포트웨어 정보 포함 |
Set - Cookie | 쿠키 생성 후 브라우저에 보낼 때 사용, 쿠키를 브라우저에서 서버로 다시 보낼 때 사용 |
'CLOUD > Network' 카테고리의 다른 글
NAT 와 포트포워딩 (0) | 2023.02.01 |
---|---|
연결지향형 TCP 프로토콜 (0) | 2023.02.01 |
비연결지향형 UDP Protocol (0) | 2023.01.31 |
컴퓨터 프로그램의 데이터 통신 (0) | 2023.01.31 |
멀리 있는 컴퓨터의 데이터 통신 (0) | 2023.01.31 |