HTML과 HTML5의 차이점
HTML(Hyper Text Markup Language)
HTML5는 HTML 표준의 다섯번째 업그레이드 버전
HTML5
- 멀티미디어 기능
(3D, 오디오, 영상 등) Active X 설치 없이도 사용 가능 - 웹 저장 기능
웹 사이트 사용자의 정보를 PC에 저장할 수 있는 매커니즘 제공 (기존 쿠키 및 세션의 한계 해소) - 웹 소켓 기능
- 위치(Geolocation) 기능
- CSS3
GET과 POST의 차이점
GET
- 서버에 정볼르 조회하기 위해 사용되는 메소드
ex) 게시판 글 조회 - 서버에 정보를 요청할 때, 쿼리스트링을 통해 데이터 전송
- URL 주소에 ?로 주소로 데이터를 전송
- 길이 제한이 있음.
- 보안에 중요한 데이터를 담아서 보내면 안 됨.
POST
- 서버에 데이터를 생성 또는 수정하기 위해 사용되는 메소드
ex) 게시판 글 작성 - 데이터는 body에 담아서 보냄
- 데이터가 노출되지 않아 GET 방식보다는 안전함.
GET은 SELECT, POST는 CREATE, UPDATE에 가까움
GET은 Idempotent, POST는 Non-idempotent하게 설계됨.
Idempotent(멱등)
수학이나 전산학에서 연산의 한 성질을 나타내는 것으로, 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질
GET의 경우 서버에 동일한 요청을 여러 번 보내더라도 항상 동일한 응답이 돌아와야 한다는 것을 의미
POST의 경우 서버에 동일한 요청을 여러 번 보내더라도 응답 결과가 다를 수 있다는 것을 의미
TCP와 UDP의 차이
TCP와 UDP는 데이터를 전송할 때 사용하는 프로토콜
TCP (Transmission Control Protocol)
- 연결형으로 신뢰성을 보장 (3-way handshaking 과정을 통해서)
- 전송 순서를 보장하나 속도가 UDP보다 느림
- 파일 전송과 같은 신뢰성이 중요한 경우 사용
UDP (User Datagram Protocol)
- 비연결형으로 연속성이 중요한 곳에 사용됨 (스트리밍 서비스)
- 전송 순서가 바뀔 수 있음
- 신뢰성이 낮은 대신 속도가 빠름
TCP Header에는 160bit 데이터가 들어간다.
UDP Header에는 32bit 데이터가 들어간다.
Header의 크기 때문에 UDP 속도 > TCP 속도
3-Way Handshaking
- TCP로 통신하는 장치간 서로 연결이 잘 되었는지를 확인하는 방식
(신뢰성을 확인하는 방식) - Client에서 Server로 데이터를 보내는 3단계
HTTP와 HTTPS의 차이
HTTP(Hyper Text Transfer Protocol)
- 데이터 요청/응답 (request/response)시 사용되는 프로토콜
- 암호화되지 않은 평문 데이터를 전송하기 때문에 서버와 주고 받는 데이터를 볼 수가 있음
- 80포트를 사용
HTTP+SSL(Secure Socket Layer) ➡ HTTP + S(Secure)
- HTTP에서 데이터 암호화가 추가된 프로토콜
- 암호화된 데이터를 전송하기 때문에 제 3자가 데이터를 볼 수 없음
- 443번 포트를 사용
HTTPS의 암호화 방식
- 대칭키 암호화
- 클라이언트와 서버가 동일한 키를 사용해 암호화/복호화 과정 진행
- 키 노출 위험성이 큰 대신 속도가 빠름 - 비대칭키 암호화
- 공개키와 개인키를 사용해 암호화/복호화 과정 진행
- 키가 노출되어도 비교적 안전한 대신 속도가 느림
Restful API란
REST(Representational State Transfer)ful API
- REST의 규칙을 지켜서 만든 API를 뜻함.
(REST란 소프트웨어 프로그램 아키텍처의 한 형태) - 성능의 향상보다는 규칙을 통한 API 이해도와 호환성을 높이기 위함.
(유지보수 및 코드의 재사용성을 높일 수 있음)
동기/비동기 방식
동기(Synchronous) 방식
- 요청과 결과가 동시에 일어남
- 요청을 하고 결과가 나올 때까지 기다림 (작업의 순서를 보장)
- 여러 요청을 동시에 처리할 수 없음
- ex) 1:1 고객 응대 카페
- Blocking 방식
비동기(Asynchronous) 방식
- 요청과 결과가 동시에 일어나지 않는다.
- 요청 후 결과와 상관없이 다음 요청을 진행
- 여러 요청을 동시에 처리
- ex) 1:N 고객 응대 카페
- Non-Blocking 방식
'제로베이스 프론트엔드 스쿨 3기' 카테고리의 다른 글
[라이브세션] 자바스크립트를 효율적으로 공부하는 방법 - 이웅모 (2) | 2022.08.30 |
---|---|
[라이브세션] 웹이 빌드되고 유저에게 전달되어 브라우저에 랜더링 되기 까지의 과정 (0) | 2022.07.14 |
제로베이스 프론트엔드 스쿨 3기 2개월차 후기 😆 (0) | 2022.06.30 |
제로베이스 프론트엔드 스쿨 3기 1개월차 후기 😎 (0) | 2022.05.31 |
Comment