HTTP(Hypertext Transfer Protocol) : 서버와 클라이언트가 인터넷상에서 데이터를 주고받기 위한 프로토콜.
작동 방식 : 서버/클라이언트 모델 따름.
장점
1. 불특정 다수 대상 서비스에 적합.
2. 클ㄹ이언트와 서버가 계속 연결된 형태가 아니기때문에 클라이언트와 서버간의 최대연결수보다 훨씬 많은 요청과 응답 처리 가능.
단점
1. 연결을 끊어버리기 때문에 클라이언트의 이전 상황 모름
- 이런 특징을 무상태(stateless)라고 함. 때문에 정보유지를 위해 Cookie같은 기술이 등장함.
URL(Uniform Resource Locator) : 인터넷상 자원 위치, 특정 웹서버의 특정 파일에 접근위한 경로/주소
접근 프로토콜://IP주소 또는 도메인 이름/문서의 경로/문서이름
http://www.naver.com/docs/index.html
HTTP (Hypertext Transfer Protocol)
- 요청 메서드 : GET, PUT, POST, PUSH, OPTIONS 등의 요청 방식이 온다.
- 요청 URI : 요청하는 자원의 위치를 명시한다.
- HTTP 프로토콜 버전 : 웹 브라우저가 사용하는 프로토콜 버전이다.
첫번째 줄의 요청메소드는 서버에게 요청의 종류를 알려주기 위해서 사용됩니다.
각각의 메소드 이름은 다음과 같은 의미를 가집니다.
참고로 최초의 웹 서버는 GET방식만 지원해줬습니다.
- GET : 정보를 요청하기 위해서 사용한다. (SELECT)
- POST : 정보를 밀어넣기 위해서 사용한다. (INSERT)
- PUT : 정보를 업데이트하기 위해서 사용한다. (UPDATE)
- DELETE : 정보를 삭제하기 위해서 사용한다. (DELETE)
- HEAD : (HTTP)헤더 정보만 요청한다. 해당 자원이 존재하는지 혹은 서버에 문제가 없는지를 확인하기 위해서 사용한다.
- OPTIONS : 웹서버가 지원하는 메서드의 종류를 요청한다.
- TRACE : 클라이언트의 요청을 그대로 반환한다. 예컨데 echo 서비스로 서버 상태를 확인하기 위한 목적으로 주로 사용한다.
HTTPS : 정보유출같은 보안 취약점 해결 위해 나온 프로토콜. 모든 통신 내용이 암호화됨. 보안성 높인 대신 암호화/복호화로 인한 속도 저하가 단점. but 체감 속도차이가 크지 않음.
HTTP와 비교했을 때 장점
1.보안(SSL-보안 소켓 계층을 사용해 사용자가 사이트에 제공하는 정보 암호화)
2.검색엔진 최적화
3.가속화된 모바일 페이지
* 프론트엔드 - HTML(구조), CSS(스타일), Javascript(동작)
★백엔드(Back-end)
프론트엔드가 pgm의 앞쪽, 클라이언트의 입장에서 개발이 진행된다면 백엔드는 pgm의 뒷쪽, 서버입장의 개발 진행함.
Front-end = Client side / Back-end = Server side
★백엔드 개발자가 알아야할 것들 ☞ 문제를 해결할 수 있어야 함.
1. 프로그래밍 언어(Java, Python, PHP, Javascript 등)
2. 웹 동작 원리
3. 알고리즘, 자료구조 등 프로그래밍 기반 지식
4. 운영체제, 네트워크 등에 대한 이해
5. 프레임워크에 대한 이해 (Spring 등)
6. DBMS에 대한 이해 & 사용법(My SQL, Oracle 등)