Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Askyweb: Difference between revisions

From ZeroWiki
imported>bluemir
No edit summary
imported>minn951120
No edit summary
Line 231: Line 231:
*** 요청 : GET(read), POST(Create), PUT(Update), Delete(Delete)
*** 요청 : GET(read), POST(Create), PUT(Update), Delete(Delete)
*** 응답(HTTP status code) : 200(OK), 301,304(리다이렉션), 401,403,404(클라이언트 에러), 500(서버 에러) // 참고 링크 : http://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C
*** 응답(HTTP status code) : 200(OK), 301,304(리다이렉션), 401,403,404(클라이언트 에러), 500(서버 에러) // 참고 링크 : http://ko.wikipedia.org/wiki/HTTP_%EC%83%81%ED%83%9C_%EC%BD%94%EB%93%9C
=== 8/4 ===
* nginx 설치
* 정적인(static) 파일은 nginx로 실습해 본 것처럼 서버에서 보내줄 수 있다.
* 동적(dynamic)인 것들 (ex) 로그인 상태에 따라 다른 것을 보내줌) WAS에서 해준다.
* WAS에서 해주는 것도 특정 파일을 내려주는 것 뿐이지만, 동적으로 하는것
* location을 웹 서버에서는 단순히 '파일'로 생각했지만, WAS에서는 하나의 추상적인 '가상의 위치'로 인식하는 것.
** 하나의 완벽한 HTML이 아니라 조각들을 동적으로 구성해서 만들 수 있음 (조각조차 없을수도 있음!)



Revision as of 06:12, 5 August 2014

Ask-Why Web

컴퓨터 통신에서 부터 웹까지 이것 없이는 살아갈수 없는 현대인의 필수품, 웹을 처음부터 알차게 배워나가 봅시다.

개요

  • 시간/기간
    • 2014년 여름 방학 + α
    • 2014년 7월 15일부터 시작
    • 매주 화요일/금요일 오후 1 ~ 5시(끝나는 시간은 강사 재량)
  • 범위
    • Web의 시작부터 끝까지 (켠김에 왕까지)
    • 컴퓨터 통신(TCP/IP) 부터 Web Application까지
  • 대상
    • 컴퓨터 공학부 학생 누구나 (사전 지식 없어도 됨)

References

참여자

참여할 사람의 이름을 적어주세요

기록

Start Up Meeting

  • 이름 정하기
    • askyweb
    • 켠김에 웹까지
    • 스파이더맨
    • ~~스웹~~
    • ~~안생겨요 웹~~
  • 시간 정하기
  • 목표 정하기

OSI계층 && HTML실습 - 7/15

  • 추상화 // 참고 링크 : http://ko.wikipedia.org/wiki/%EC%B6%94%EC%83%81%ED%99%94
    • 대학 면접 단골 질문이죠.(이 방에서 이진법으로 표현할 수 있는 것은?? - 답 : 모두)
    • 추상화란 전산학에서 추상화(抽象化)는 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 부분을 간추려 내는 것을 말한다.
    • 즉, 게임을 만들 때 이건 어찌 코딩해야하노.... 이런 상황이 추상화가 안된다라는 거죠
    • #을 7개를 찍어라!! => for(int i=0;i<7;i++) printf("#"); // #을 7개 찍어라는 걸 추상화하여 코딩한 거죠.
  .7. 응용 계층(Application layer)
    • ~~응용합시다~~ 간단히 프로그램이 돌아가는 계층??
  .6. 표현 계층(Presentation layer)
    • ~~표현합시다~~ 코드간의 번역(인코딩, 암호화같은거)
  .5. 세션 계층(Session layer)
    • ~~통신상태가 불량합니다~~ 통신하는 유저들을 동기화하고 상태를 점검
  .4. 전송 계층(Transport layer)
     IP의 핵심 프로토콜 중의 하나. 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 정보 교환을 에러없이 할 수 있게 한다.
  .3. 네트워크 계층(Network layer)
     사용자간의 네트워크에서 패킷을 주고받는 데 사용하는 정보 위주의 규약이다. 사용자의 주소지정과 패킷 분할 및 조립 기능 담당함.
     데이터의 형식화된 블록. 각 패킷은 프로토콜 계층들의 구현 내용을 담고 있음.
  .2. 데이터 링크 계층(Data link layer)
     LAN을 위해 개발된 컴퓨터 네트워크 기술. 물리 계층에서 신호와 배선, 데이터 링크 계층에서 MAC 패킷과 프로토콜의 형식을 정의
  .1. 물리 계층(Physical layer)
    • 눈에 보이는거(전기) ~~무선인터넷도 포함되는데 안보인다 그러면....할말이...~~ 말그대로 물리적인 실제 장치


  • HTML실습
    • 누가 실습한 것 좀......
  • 할 말
    • 해킹 - 공격의 예술 에서 OSI계층 설명이 있는데 그거 찾아서 읽어보세요 짱 쉬움(내 책 가져다가 놓음) - 김한성

자바스크립트 - 7/18

  • 스터디 폭파 직전 폭탄 해제 성공 - 1600마이크로부로 해제
  • 뭘 하지?? 실습하자
  • vi 정말 좋아요
  • 어떤 실습이 좋을까?? HTML했으니 자바스크립트를 한다!(훗! 그래야 ZP답지)
  • 자바스크립트
    • 자료형은 var뿐
    • 크롬에서 실습 / HTML에서 <script> </script> 사이에 자바스크립트 삽입!
    • 서버사이드, 클라이언트사이드
    • test.html파일을 만들어서 직접 열어서 수정 - 서버사이드에서 작업하는것
    • 크롬에서 개발자모드 - 클라이언트사이드에서 작업하는것(서버에 저장이 안됨!!)
    • 헷깔리지맙시다!
  • ctrl+CV 소개 // http://ctrlcv.kr/#!
    • 자바스크립트에서 클립보드를 직접 컨트롤할 수 있다는 취지에서 소개
    • 좋네 근데 아직 버그가 좀....
    • 최대 7일간 유지
  • 여담.....
    • 함수형언어??, 병렬화?? 아 이거 뭐야 무서워

라우터와 DNS - 7/22

  • ~~수강생들의 상태가 매우 메롱함~~
  • 패킷의 구조
출발지MAC 목적지MAC
출발지 IP
도착지 IP
  • 라우터 찾기(전지적 작가시점이 아닌 1인칭 주인공 시점으로 봅시다)

(1/A)에서 (4/D) 찾아가기(패킷으로 나타내보자) 과정 : (1/A) -> (2/B) -> (3/F) -> (4/D)

A B B F F D
1 -> 1 -> 1
4 4 4
라우터를 찾아갈때 패킷에서 IP는 바뀌지 않고 MAC주소만 바뀜 라우터는 프로토콜에 의해 주변 라우터에게 물어봄 라우터를 거칠때마다 TTL--(Time to Live) (초기값은 랜덤이지만 운영체제마다 특정값이 있음)
  • DNS(Domain Name System)
    • 일반적으로 네트워크는 IP로 구성
    • naver.com / google.com은 뭔가요?? => Domain Name!!!
    • 일반인이 알아보거나 기억하기 쉽게 숫자가 아닌 텍스트로 IP를 대체함(즉, IP를 입력해도 접속가능)
    • 사용자가 도메인을 검색 => DNS서버에 물어봄 => DNS서버가 찾아서 IP에 연결 => 접속
    • 내가 아는 DNS서버에 없네?? => while(1) 다른 DNS서버에 물어봄 => 없으면 404 Not Founded 있으면 뜨겠지
  • 실습
    • 지난 주 클라이언트 사이드에서 작업함
    • 서버 사이드에서 작업하여 내용을 변경하여도 저장이 됨
    • 간단한 구구단 작성

TCP와 HTTP - 7/25

    • 정의 : IP의 핵심 프로토콜 중의 하나. 근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 정보 교환을 에러없이 할 수 있게 한다.
    • TCP포트(0~1023) // 참고 링크 : https://en.wikipedia.org/wiki/TCP_and_UDP_port
    • TCP포트는 인터넷 프로토콜 스위트의 전송 계층 프로토콜 중 TCP나 UDP 등의 프로토콜이 사용하는 가상의 논리적 통신 연결단이다. 각 포트는 번호로 구별되며 이 번호를 포트 번호라고 한다. 포트 번호는 IP 주소와 함께 쓰여 해당하는 프로토콜에 의해 사용된다.
    • 주로 사용하는 포트
   20 & 21: File Transfer Protocol (FTP)
   22: Secure Shell (SSH)
   23: Telnet remote login service
   25: Simple Mail Transfer Protocol (SMTP)
   53: Domain Name System (DNS) service
   80: Hypertext Transfer Protocol (HTTP) used in the World Wide Web
   110: Post Office Protocol (POP3)
   119: Network News Transfer Protocol (NNTP)
   143: Internet Message Access Protocol (IMAP)
   161: Simple Network Management Protocol (SNMP)
   194: Internet Relay Chat (IRC)
   443: HTTP Secure (HTTPS)
   465: SMTP Secure (SMTPS)
    • 패킷구조(조금 더 확장)
출발지MAC 목적지MAC
출발지IP
목적지IP
포트번호 43000
GET / index.html HTTP / 1.0
  -> 43000의 의미는 어떤 프로그램이 보낸 패킷을 구별하기 위한 일련번호같은 것
  • HTTP(hyperText Transfer Protocol)
    • www상에서 정보를 주고 받을 수 있는 프로토콜이다. TCP를 사용하며, 80번포트를 사용
    • history : HTTP -> SGML -> XML
    • 특징
    • 아스키 기반 프로토콜
      • 엔터 -> \r\n
      • 각 옵션 구분 -> 엔터
      • 헤더, 바디 구분 요청 끝 -> 엔터두번(즉, 빈줄)
    • 요청을 하면 다시 받는다
    • 상태를 저장안한다.(status less)
    • 메소드 : CRUD(Create, Read, Update, Delete)

8/4

  • nginx 설치
  • 정적인(static) 파일은 nginx로 실습해 본 것처럼 서버에서 보내줄 수 있다.
  • 동적(dynamic)인 것들 (ex) 로그인 상태에 따라 다른 것을 보내줌) WAS에서 해준다.
  • WAS에서 해주는 것도 특정 파일을 내려주는 것 뿐이지만, 동적으로 하는것
  • location을 웹 서버에서는 단순히 '파일'로 생각했지만, WAS에서는 하나의 추상적인 '가상의 위치'로 인식하는 것.
    • 하나의 완벽한 HTML이 아니라 조각들을 동적으로 구성해서 만들 수 있음 (조각조차 없을수도 있음!)