일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 자바
- JShell
- 메소드
- 스프링
- 프로그래밍
- Elk
- 기초코딩
- 자바기초
- 프로그래밍기초
- 프로그래밍언어
- github
- 컴퓨터과학개론
- 배열
- spring
- 알고리즘
- 자바프로그래밍
- Git
- 데이터베이스
- 제이쉘
- 초보코딩
- 리눅스
- JAVA기초
- 스프링 기초
- 클래스
- 이클립스
- Java
- eclips
- 코딩초보
- 초보코딩탈출
- 자바 스프링
- Today
- Total
키보드워리어
[클라이언트와 서버] HTTP&Network Basic 책 정리 본문
안녕하세요 블로그 방문자 여러분, 반갑습니다. 오랜만에 인사드리네요.
오늘은 예전에 읽은 책을 공유드리고자 포스팅합니다 바로 시작합니다.
그림으로 배우는 HTTP & Network
부제: 대화가 필요해
1장 서버와 클라이언트의 대화에 필요한 것들
웹 브라우저에 네이버 를 검색하고 화면에 네이버 화면이 출력이 될 때 까지 내부적으로 어떤 동작들이 수행이 되는지 설명해주세요!
서버: 리소스를 가지고 있으며 제공하는 역할
클라이언트:서버에 의뢰를 하는 웹 브라우저
이런 일련의 흐름을 결정하는게 HTTP라 불리는 프로토콜입니다.
HTTP프로토콜(약속)을 이해하기 위해서
TCP와 IP 프로토콜에 대해 어느정도 알아야 합니다.
네트워크는 TCP/IP 프로토콜에 움직이며 HTTP는 그중 하나입니다.
참고로) 이 책에서는 TCP/IP 자세히 다루지 않고 개념만 설명해줍니다.
TCP/IP 4계층
애플리케이션 계층 -> DNS,FTP
트랜스포트 계층 -> TCP/UDP 데이터의 흐름을 제어
네트워크 계층 -> IP주소
링크계층: 하드웨어 측면
TCP/IP를 통한 통신흐름
클라이언트(송신측) | 서버(수신즉) |
---|---|
애플리케이션 계층 | 애플리케이션 계층 |
트랜스포트 계층 | 트랜스포트 계층 |
네트워크 계층 | 네트워크 계층 |
링크계층 | 링크계층 |
송신측(Request): 계층을 통과할때마다 헤더를 추가하며, 반대로
수신측(Response): 계층을 통과할때마다 헤더를 삭제
keyword: IP, TCP, DNS
IP: 주소를 가짐, 사람이 이해하기 힘듬
TCP: 소실될 우려 없음 (hand shake), 안전하단 뜻은 아님
DNS: 인간이 알아볼 수 있는 단어
2장 & 3장 간단한 프로토콜 HTTP
- 프로토콜에서 클라이언트와 서버는 무조건 존재하며 한쪽이 결정되면 잘 바뀌지 않습니다.
- 프로토콜은 리퀘스트와 리스폰스로 교환
클라이언트가 보내는 HTTP 프로토콜에는 메서드를 통해 임무를 준다.
메서드 | 설명 |
---|---|
GET | 리소스 취득 |
POST | 엔티티 바디전송 |
PUT | 파일 전송 |
HEAD | 메시지 헤더 취득 |
DELETE | 파일 삭제 |
OPTIONS | 서포트하고 있는 메서드 문의 |
TRACE | 경로 조사 |
CONNECT | 프록시에 터널링 요구 |
HTTP는 상태를 유지하지 않습니다. 이전에 보냈던 요청, 응답 기억하지 않는 특징
무상태 상황에서 맞닥트리는 문제가 로그인 상태
쿠키
: 쇼핑 사이트에 로그인했을때 누가 로그인했는지 기억해야 하는 상황 발생에서 해결할 수 있는 솔루션
4장 결과를 전달하는 코드
서버가 답합니다. 답할때 제공해주는 넘버
number | 설명 |
---|---|
1xx | 리퀘스트 처리중 |
2xx | 리퀘스트 처리완료 |
3xx | 추가동작 필요 |
4xx | 리퀘스트 이해불가능 |
5xx | 리퀘스트 처리 실패 |
5장 멀티 도메인
가상호스트
: 1대의 서버에서 멀티 도메인을 가질 수 있음
통신을 중계
: 프록시, 게이트웨이, 터널 (부제목 참고)
6장 HTTP 헤더
평소에는 볼 수 없지만 요청과 응답에 HTTP 헤더와 바디가 존재.
[HTTP메세지 구조]
메세지 헤더
: 클라이언트와 서버 처리에 주요 정보(메서드,URI,프로토콜버전 등)
메시지 바디
: 사용자와 리소스를 필요로 하는 정보 (HTML,CSS...)
[헤더필드의 역할]
HTTP/1.1에 정의되어있는 헤더 필드에는 47종류의 헤더 필드가 있다.
대분류
: 일반 필드, 리퀘스트 필드, 리스폰스 필드, 엔티티 헤더 필드
7장 HTTPS
HTTPS는 HTTP가 SSL을 덧씌운 상태
HTTP의 약점
* 평문이기 때문에 도청가능
* 통신 상대를 확인하지 않기 때문에 위장 가능
* 완전성을 증명할 수 없기 때문에 변조가능
HTTPS
: HTTP + 암호화 + 인증 + 완전성(변질성x) 보호
- HTTPS에서 차용한 SSL은 무엇인가?
비대칭키 알고리즘 (공개키 암호화방식이라고도 불림)
암호화된 키는 공개적이지만 복호화키는 개인키로 있어야 한다.
https://www.yes24.com/Product/Goods/15894097
이상 부족한 컨텐츠 읽어주셔서 감사드립니다.
조금더 채울 내용들은 앞으로 차차 추가해 나갈 예정입니다.
내용 피드백이 있는 경우 댓글 부탁드립니다!
다음 포스팅 때 뵙겠습니다! 감사합니다 🤗
'개발 관련' 카테고리의 다른 글
[가상환경] VMware 설치 후 실행해보자 (0) | 2023.09.08 |
---|---|
[인프라 엔지니어의 교과서]8장 엔진엑스로 서버 이전을 고민하는 당신에게 (0) | 2023.09.07 |
[정보처리기사] 필기 과목 5 정리 (필기 81점 합격했네요ㅠㅠ) (0) | 2023.07.13 |
[정보처리기사] 필기 과목 4 정리 (0) | 2023.07.11 |
[정보처리기사] 필기 과목 3 정리 (0) | 2023.07.08 |