- 웹 기초
프론트엔드 : 주어진 요구사항에 맞는 html, css 개발.
다양한 디자인 요구사항에 맞게 컨텐츠를 배치하는 레이아웃 작업
백엔드 : 웹 페이지가 보여질 때 클라이언트의 요청부터 서버의 응답까지의 과정 이해 - 프로그램 언어
저급 언어 : 기계 중심의 언어. 0과 1로 표현되는 2진수로 이뤄진 값으로 작성하는 프로그래밍 언어를
기계어(Machine Language)라고 한다. 숫자로만 된 프로그래밍 언어는 사용이 어렵기 때문에 숫자로 된 문장과 1:1로 대응하는 기호를 만들고, 그 기호로 프로그래밍을 하게 되었다. 단, 기호로 작성된 프로그램 은 기계가 이해하기 어렵기 때문에 기호로 작성된 문장들을 원래의 숫자로 바꿔야 하는 과정을 거쳐야 한 다. 이 때 사용되는 도구를 컴파일러(Compiler)라고 하며, 이러한 기호로 작성된 언어를 어셈블리어 (Assembly Language)라고 한다.
고급 언어: 사람 중심의 언어. 사람이 이해하기 쉽게 프로그래밍을 하기 위해선 작성된 소스코드를 번역하는 과정이 필요하다. 이러한 것을 컴파일한다고 하며, 이러한 일을 수행하는 것을 컴파일러라고 한다. - 웹의 동작 (HTTP 프로토콜의 이해)
웹 브라우저와 웹 서버 간에도 서로 통신하기 위해서는 규약이 필요하다. 이 때 필요한 규약이 HTTP이다.
물리적인 하나의 컴퓨터에는 여러 개의 서버가 동작할 수 있다. 각각의 서버는 포트라는 값으로 구분되어서 동작한다.
| 이름 | 프로토콜 | 포트 | 기능 |
| WWW | HTTP | 80 | 웹서비스 |
| SMTP/POP3/IMAP | 25/110/114 | 이메일 서비스 | |
| FTP | FTP | 21 | 파일 전송 서비스 |
| DNS | TCP/UDP | 53 | 네임 서비스 |
| NEWS | NNTP | 119 | 인터넷 뉴스 서비 |
- 인터넷 (Internet)
TCP/IP 기반의 네트워크가 전세계적으로 확대되어 하나로 연결된 네트워크들의 결합체 - HTTP (Hypertext Transfer Protocol)
HTTP는 서버와 클라이언트가 인터넷상에서 데이터를 주고 받기 위한 프로토콜(protocol)이다.
HTTP는 이미지, 오디오, 동영상, 텍스트문서 등 어떤 종류의 데이터도 전송할 수 있도록 설계되어 있다.
HTTP는 서버/클라이언트 모델을 따른다.
HTTP 작동 방식
HTTP는 서버/클라이언트 모델을 따른다.
장점: 불특정 다수를 대상으로 하는 서비스에는 적합하다. 클라이언트와 서버가 계속 연결된 형태가 아니기 떄문에 클라이언트와 서버간의 최대 연결 수보다 훨씬 많은 요청과 응답을 처리할 수 있다.
단점: 연결을 끊어버리기 때문에, 클라이언트의 이전 상황을 알 수 없다. 이러한 특징을 무상태(Stateless)라고 한다. 이러한 특징 때문에 정보를 유지하기 위해서 Cookie와 같은 기술이 등장하게 되었다. - URL (Uniform Resource Locator)
인터넷 상의 자원의 위치
특정 웹 서버의 특정 파일에 접근하기 위한 경로 혹은 주소
http :// www.tistory.com / docs / index.html
접근 프로토콜 :// IP주소 또는 도메인 이름 / 문서의 경로 / 문서 이름
IP는 집 주소, 집 안의 각각 하나의 방은 포트라고 생각하면 된다.
각 서버는 각 하나의 방을 하나씩 차지해야 한다. 즉, 하나의 방에 여러 개의 서버가 존재할 수 없다.
그래서 포트 번호는 각각 달라야 한다.
HTTP 서버는 기본 포트 값이 80번이다.
웹이 동작하기 위해서 반드시 클라이언트가 먼저 원하는 서버에 접속해야 한다.
클라이언트가 서버한테 요청을 하면 요청에 따른 응답 결과를 다시 클라이언트에 응답해주는 과정을 거친다.
응답이 끝나면 서버와 클라이언트의 연결이 끊긴다.
요청되는 데이터는 정해진 규칙이 있다.
요청헤더 GET (요청 메서드 ) / 요청 URI (요청하는 자원의 위치 명시) / HTTP 프로토콜의 버전
요청바디
* GET방식은 요청할 때 가져가야 할 자원도 URI에 붙여서 가지고 간다. 따라서 GET방식은 요청바디가 없다.
* 요청바디 요소는 요청메서드가 POST나 PUT을 사용했을 때 들어오게 된다.
응답헤더 응답HTTP 프로토콜의 버전 응답코드 응답 메시지
날짜, 웹서버 이름과 버전, 컨텐츠 타입, 캐시 제어방식, 컨텐츠 길이 등
응답바디
- 요청 메서드 : GET, PUT, POST, PUSH, OPTIONS 등
GET : 정보를 요청하기 위해서 사용한다. (SELECT)
POST : 정보를 넣기 위해서 사용한다. (INSERT)
PUT : 정보를 업데이트하기 위해서 사용한다. (UPDATE)
DELETE : 정보를 삭제하기 위해서 사용한다. (DELETE)
HEAD : (HTTP) 헤더 정보만 요청한다. 해당 자원이 존재하는지 혹은 서버에 문제가 없는지 확인하기 위해서 사용한다.
OPTIONS : 웹 서버가 지원하는 메서드의 종류를 요청한다.
TRACE : 클라이언트의 요청을 그대로 반환한다. - 요청 URI : 요청하는 자원의 위치
참고: boostcourse https://www.boostcourse.org/web316/lecture/16661/?isDesc=false
'boostcource > boostcourse_web programming' 카테고리의 다른 글
| 웹서버 (0) | 2024.04.01 |
|---|---|
| browser에서의 웹개발 (0) | 2024.04.01 |
| browser의 동작 (0) | 2024.04.01 |
| 백엔드 (Back-End) (0) | 2024.03.31 |
| 프론트엔드(Front-End) (0) | 2024.03.30 |
