기초공부
HTTP/HTTPS
dreamaccomplirar
2022. 11. 10. 11:42
드림핵을 이용하여 이론공부를 하려고 한다.
항목별로 잘 나뉘어져 있고,
그 안에 세부적으로 단계가 나눠져 있어서
어떻게 공부해야할지 모르겠을 때,
혼자서도 쉽게 공부하기 좋은 사이트이다.
해커들의 놀이터, Dreamhack
해킹과 보안에 대한 공부를 하고 싶은 학생, 안전한 코드를 작성하고 싶은 개발자, 보안 지식과 실력을 업그레이드 시키고 싶은 보안 전문가까지 함께 공부하고 연습하며 지식을 나누고 실력 향
dreamhack.io
웹(web) 기본 상식
HTTP(Hyper Text Transfer Protocol)란?
- 서버와 클라이언트의 데이터 교환을 요청/응답 형식으로 정의한 프로토콜이다.
더보기
- 프로토콜 : 규격화된 사용호작용에 적용되는 약속
예) 두사람이 한국말로 대화를 한다.
대화 : 통신 / 사용할 언어 : 프로토콜 (예: 한국어, 영어 등...)
HTTP 구성
- HTTP 헤드
- 각 줄은 CRLF로 구분됨 - 첫 줄 : 시작줄 (start-line) / 나머지 : 헤더 (0개 이상의 헤더가 있을 수 있음)
- 헤더(header)는 필드와 값으로 구성 - HTTP 바디
- 헤드의 끝 CRLF뒤 모든 줄
- 전송하려는 데이터가 담김
HTTP 요청/응답
- 요청
서버에게 특정 동작을 요구하는 메세지(검토후 적절한 경우만 처리)
시작 줄은 메소드(Method), 요청 URI, HTTP 버전으로 구성더보기메소드 : HTTP 표준에 정의된 메소드는 8개가 있음 (참고 : https://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html)
URI : https://catsbi.oopy.io/6befbf82-ce78-4fb9-bb87-805ec1048855
https://blog.lael.be/post/61 - 응답
요청에 대한 결과를 반환(요청을 수행하지 않은 경우 이유와, 클라이언트에게 전송할 리소스를 포함)
시작 줄은 HTTP버전, 상태코드, 처리사유로 구성더보기상태코드 : 요청에 대한 처리 결과를 세자릿수로 나타냄 (참고 : https://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html)
HTTPS(HTTP over Secure socket layer)란?
TLS(Transport Layer Security)을 도입하여 서버와 클라이언트 사이에 오고가는 HTTP메세지를 암호화한다.
(HTTP는 평문 통신 / HTTPS 암호화 통신)