HTTP 의 기초에 대해 알아보자
HTTP란 Hyper Text Transfer Protocol 의 약자이다
HTTP 요청 메시지는 크게 3단계로 구성되어 있다
1단계) 메소드 | 요청 URI | 버전
1단계 중 첫번째인 '메소드'는 6개의 종류가 있다
- GET
- POST
- PUT
- DELETE
- HEAD
- OPTIONS
1단계 중 두번째인 '요청 URI' 는 우리가 브라우저에 입력하는 도메인 주소를 의미한다
1단계 중 세번째인 '버전' 은 HTTP 요청의 버전을 의미한다. 예를 들어 'HTTP/1.1' 이란 형태로 요청된다
2단계) 헤더
헤더에는 아래처럼 여러 정보가 포함된다
- Host : 서버의 도메인 이름과 포트
- User-Agent : 클라이언트의 식별 정보
- Accept : 클라이언트가 처리할 수 있는 컨텐트 타입
- Accept-Language : 클라이언트가 처리할 수 있는 언어 종류
- Accept-Encoding : 클라이언트가 처리할 수 있는 인코딩 방식 또는 압축 알고리즘
- Referer : 이전 웹 페이지 URI
- Content-type : 바디 정보의 종류
- Content-Length : 바디 정보의 길이
- Cookie : 키와 값으로 구성된 정보로 로그인 유지 등을 위해 사용된다
3단계) 바디
요청에 대한 데이터 부분. 헤더의 Content-Type 에 따라 바디 데이터의 형태가 달라진다
HTTP 응답 메세지도 3단계로 구성된다
1단계) 버전 | 응답코드 | 응답코드 텍스트
- 버전 : 응답에 대한 HTTP 버전 정보. 요청 정보의 버전과 동일하다
- 응답코드 : 정상 응답일 경우 '200' 으로 표시된다
- 응답코드 텍스트 : 정상 응답일 경우 'OK' 형색으로 표시된다
2단계) 헤더
- Set-Cookie : 클라이언트에 저장할 쿠키 정보
- Expires : 클라이언트에 저장시킨 쿠키의 유효기간
- Server : 웹서버의 정보
- Secure : 쿠키의 암호화 지정 여부
- Path : 쿠키의 경로
- HttpOnly : 쿠키의 보안 속성 중 하나로 설정 시 JavaScript 에 의한 접근이 불가능하다
- DENY : 설정시 프레임 내부에서 웹 페이지 표시 금지
- SAMEORIGIN : 동일한 사이트의 요청만 프레임으로 표시
- X-XSS-Protection : 크로스 사이트 스크립팅 공격일 경우 웹 사이트가 표시되는걸 차단
- X-Frame-Options : iframe 등의 사용을 제어
- X-Content-Type-Option : MIME : 스니핑을 차단하기 위해 사용되는 정보
3단계) 바디
응답에 대한 데이터
여기까지 HTTP 의 기초에 대해 알아봤다
브라우저에서 특정 사이트에 접속할 때 어떤 데이터로 요청이 전송되고 어떤 형태로 응답이 구성되어있는지 알아봤다
물론 이런적인거라 무슨 말인지 실감이 안될 수도 있지만 웹 개발을 해본 개발자라면 이해할 수 있을 거라고 생각한다
출처 : 이슈관리도구 봄즈 봄보라
'봄보라' 카테고리의 다른 글
소프트웨어 방법론 칸반의 목표 (0) | 2021.08.08 |
---|---|
OWASP (Open Web Application Security Project) (0) | 2021.08.01 |
Kanban (칸반) 시스템을 사용하는 이유 (0) | 2021.07.18 |
업무관리시스템 칸반의 이슈 관리 (0) | 2021.07.11 |
칸반 전문가의 한마디! 업무 협업 툴 제대로 진행해보자 (0) | 2021.07.04 |