728x90
📌HTTP
- HyperText Protocol : 서버-클라이언트 메세지 교환 프로토콜
서버와 클라이언트 간의 TCP/IP 통신 위에서 메세지를 교환하기 위해 사용되는 프로토콜 - 서버에서 브라우저로 데이터를 전송하는 정보가 암호화 되지 않는다는 문제점을 가지고 있어 데이터가 쉽게 도난당할 수 있음
◾ 기기 간 통신 과정
- 클라이언트가 리소스를 HTTP를 통해 요청하면 TCP, IP, 프로토콜을 걸쳐 서버 쪽의 HTTP까지 요청 도달 이에 대한 응답을 다시 서버에서 HTTP 로 보내면 TCP, IP, 프로토콜을 걸쳐 클라이언트에게 응답 도달
◾ 네트워크 단어 정리
- 프로토콜 : 서로 다른 하드웨어 기기가 통신하기 위해 필요한 규칙
- TCP : 서버와 클라이언트 사이 통신 연결 제어
- IP : 데이터 패킷들을 보낸다.
- ARP : Address Resolution Protocol 주소를 찾아가는 프로토콜
- DNS : Domain Name System 도메인 이름 및 IP 주소 확인
도메인 이름을 IP주소로 변환 및 도메인 이름을 웹 브라우저에 입력 할 때 최종 사용자를 어떤 서버에 연결 할 것인지 제어 - URL : 웹페이지 상의 주소
- URI : URL을 포괄하는 개념으로 리소스를 식별하는 식별자
- Request : 요청
- Response : 응답메세지
◾ HTTP 프로토콜 구성
🔸 Request
- 구성 : 메서드 URI 프로토콜 버전, 헤더, 바디
🔸 Response
- 구성 : 프로토콜 버전, 상태코드, 상태 코드에 대한 설명, 헤더, 바디로 구성
◾ HTTP 프로토콜 특성
- Stateless : 과거정보를 남기지않고 새로운 리퀘스를 보낼 때마다 새로운 리스폰스를 보낸다. 상태와 무관하여 확장이 쉽다.
- URI로 리소스 식별
- 지속 연결 : 서버의 부하를 줄이고 빠른 통신, 리스폰스 응답을 기다리지않고 바로 다음 리퀘스트를 보내는 파이프라이닝 가능
- 성능향상이 미미하고 프록시 버그가 많음
📌HTTPS
- Hypertext Transfer Protocol
- 서로 다른 시스템들 사이에서 통신을 주고받게 하는 가장 기본적인 프로토콜
- 서버에서 브라우저로 데이터를 전송하는 용도로 가장 많이 사용함
- HTTP에 SSL을 사용한 것
- SSL : 보안 소켓 계층. 서버와 브라우저 사이에 안전하게 암호화된 연결을 만들 수 있게 도와주고 정보가 도난 당하는 것을 막아줌
→ HTTP 자체를 암호화 하는 것이 아니라 메세지 바디를 암호화 (헤더는 암호화 되지 않음)
◾ HTTP를 사용하는 이유
1. 보안성
- 데이터를 암호화 해서 전송하기 때문에 해커가 중간에 가로채더라도 어떤 내용인지 알 수 없음
2. 검색 엔진 최적화
- 구글은 HTTPS 웹 사이트 가산점을 줌
◾ SSL
- Natscape 사에서 웹 서버와 웹 브라우저간의 보안을 위해 만든 프로토콜
- 공개키 방식과 대칭키 방식을 혼합하여 사용
→ 각 방식이 가진 단점 때문에 두 방식을 적절히 섞어 사용 - 암호화의 대상은 비밀번호나 개인정보 등이 해당 됨
🔸 통신과정
- 공개키 방식으로 대칭키를 전달
- 대칭키를 활용하여 암호화, 복호화하여 서버와 브라우저 간 통신 진행
728x90
'스터디 > 테크톡' 카테고리의 다른 글
[테크 톡 - 12주차] 단위테스트 (0) | 2023.08.20 |
---|---|
[테크 톡 - 11주차] Spring & Spring Boot (0) | 2023.08.10 |
[테크 톡 - 9주차] 쿠키와 세션 (0) | 2023.08.10 |
[테크 톡 - 7~8주차] 싱글톤 패턴과 정적 클래스 (0) | 2023.08.10 |
[테크 톡 - 6주차] Restful API (0) | 2023.08.10 |