Today I Learned …

[수업] 1주차 정리 본문

Study/수업

[수업] 1주차 정리

염베리 2021. 10. 16. 02:05

* 해당 주차의 수업 내용을 정리합니다.


1. 클라이언트와 서버의 관계

[1] 클라이언트는 요청하고, 서버는 응답한다.

 

2. HTTP

[1] HyperText Transfer Protocol

[2] 클라이언트와 서버가 서로 정보를 주고받을 때 지켜야하는 일종의 규약이다.

 

3. 정적페이지 vs 동적페이지

[1] 정적페이지 : 변하지 않는다.

⇒ A, B, C의 성적표를 다 각각 만들어줘야 함. 사용자가 100명이면 맞춤화 페이지 100개..

[2] 동적페이지 : 변한다.

페이지 한 장에 사용자의 이름만 다르게 박아서 보여줄 수 있다. 하나의 페이지로 수많은 사용자 맞춤화 가능.

 

4. 웹서버 3 Tier

[1] 웹서버 : 정적페이지를 전달 (.html 보여줌)

[2] WAS : 동적페이지 처리 (.php를 .html로 처리해서 웹서버에게 넘겨줌)

[3] DB : 데이터베이스 (SQL)

 

5. 클라이언트 사이드 스크립트 vs 서버 사이드 스크립트

[1] 클라이언트 사이드 스크립트 (프론트엔드) : 클라이언트에서 사용 (Html, JavaScript...)

[2] 서버 사이드 스크립트 (백엔드) : 서버단에서 사용 (PHP, SQL...)

 

6. 서버

[1] 서비스를 하고 있는 컴퓨터를 뜻하며, 의외로 그냥 우리 컴퓨터다.

 

7. URL 구조

http://localhost/study/login.php?name=choco

[1] http : Protocol

[2] localhost : Host 주소 (IP)

[2] /study/login.php : 파일의 경로

[3] ?name=choco : 파라미터

 

8. GET vs POST

[1] GET : 서버로부터 정보를 조회하기 위해 설계된 메소드

⇒ 필요한 데이터를 Body에 담지 않고, 쿼리스트링을 통해 전송한다.

⇒ 데이터가 URL 상에 노출된다.

[2] POST : 리소스를 생성/변경하기 위해 설계된 메소드

⇒ 데이터를 Body에 담아서 전송한다.

⇒ 내용이 눈에 보이지 않아 GET 보다 보안성이 높다.

⇒ 그러나, 크롬 개발자 도구와 같은 툴로 요청 내용을 확인할 수 있기 때문에 민감한 데이터는 반드시 암호화하여 전송하여야한다.


9. Web Proxy

[1] 대리인, 중간자

[2] 클라이언트와 서버가 통신을 주고 받는 루트 사이에 위치함

[3] 접근할 수 없는 네트워크에 접근하기 위해 사용하기도 함

 

10. Burp Suite

[1] 웹 프록시 툴

[2] 클라이언트와 서버가 네트워크 상에서 정보를 주고 받을 때 중간에서 패킷*을 가로챌 수 있다.

[3] 가로챈 패킷은 변조가 가능하다.

* 패킷 = 헤더 (메타 데이터) + 페이로드 (실제 데이터) + 트레일러

 

11. 로그인 인증

[1] 쿠키 : HTTP 요청에 포스트잇 하나 붙이는 것

⇒ 쿠키 변조의 위험성이 큼! (클라이언트 측에서 생성하는 것이기 때문에 변조가 매우 쉽다.)

[2] 세션 : 서버 측에서 발급하는 일종의 ID

⇒ 서버 측에서 발급하기 때문에 비교적 안전하며, 보안을 위해 유추가 불가능하도록 아주 복잡하게 만든다.

⇒ 클라이언트는 인증 절차를 통해 발급받은 세션을 쿠키에 적어 서버와 통신한다.


1주차 과제

1. 블로그 개설 : 단톡방에 주소 올리기

2. 리눅스에 APM 세팅

3. 로그인 페이지 개발 : 로그인/로그아웃 + 메인페이지

4. 2주차 내용 예습

'Study > 수업' 카테고리의 다른 글

[수업] 5주차 정리  (0) 2021.11.18
[수업] 4주차 정리  (0) 2021.11.04
[수업] 3주차 정리  (0) 2021.10.29
[수업] 2주차 정리  (1) 2021.10.22
[수업] OT 정리  (0) 2021.10.16
프로필사진
berry
FE Developer, loves React & better DX
Comments