css
: cascading style sheets
: 웹 문서의 스타일을 저장하는 스타일시트, 문서의 일관성을 유지해주면서 스타일 지정을 각각 해야 하는 번거로움 없애줌
: 작성하는 방법은 크게 3가지인데,
1) 직접 스타일 부여
2) 내부 스타일시트 작성: head 안에 style 작성
3) 외부 스타일시트 작성: index.css를 따로 만들어, html에 연동 -> 일괄 관리가 가장 용이
index.css 파일을 만들어 스타일 작성 후, html head 안에 아래와 같이 작성<link href=“index.css” rel=“stylesheet” /> (href: hypertext + reference /rel: relation 즉, 이 Link 태그는 styesheet와 관련된 것이고, 불러오는 파일은 index.css)
javascript의 역할은?
: 결국, html은 뼈대이고 css는 내부 인테리어와 같다고 할 수 있는데,
: javascript 는 특정 ‘이벤트’가 일어났을 때, 특정한 효과가(함수) 일어나도록 만들어주는 것
: 예시1, 1+1 쓰면 html은 1+1로 출력하지만, js는 계산해서 2로 반환해줌
: 예시2, 페이지 스크롤을 내렸을 때, 밑에 있던 사진이 위로 나타남
: 예시3, 특정 버튼을 클릭하면, 경고창이 뜸
아래 2가지 용어에 대해 좀 더 살펴 보자면,
1)function
(함수): 특정한 작업을 독립적으로 수행할 수 있는 단위 (e.g. alert(), setinterval(), etc.
2)event
(이벤트): 클릭할 때, 마우스 커서를 뺄 때, 스크롤을 내리는 등의 동작/행위
3)event handler
(이벤트 핸들러): 이벤트 발생 시, 그에 따른 반응을 하도록 하는 것
(e.g. onLoad, onClick, onKeyDown, onMouseOut, onChange,
onFocus, onMouseMove, etc.)
이벤트와 javascript 함수는 그럼 어떻게 연결되는가?
: 사용자가 박스를 ‘클릭하면 ‘클릭하지 마시오’ 라는 경고창이 뜨도록 만들어보자
이벤트: 박스를 클릭,
onClick
사용 함수: 경고창 팝업,alert
(“클릭하지 마시오!”);
<input type=“button” value=“일시 중지”, onClick=“alert(‘클릭하지 마시오!’)” >
어떻게 작성하는가?
: head태그나 body태그 하단에 작성할 수 있는데, javascript는 위에서 아래로 읽으므로 html요소와의 관계를 고려해야
: 만약 head태그 안에 작성하는 경우, script를 읽기 위해 중간에 html parsing을 멈추기 때문에, 로딩 등의 문제 발생
: 위의 단점을 보완하기 위한 2가지 방법
-> script태그에 async
추가
. html parsing 중 script태그를 만나면, html parsing & script download 동시 진행
. script 실행 동안에는 html parsing 중단
. 결국 script를 실행시키는 동안 html parsing은 멈추므로, 완벽하다고 할 수 없음
-> script태그에 defer
추가
. html parsing 중 script 태그를 만나면, html parsing & script download 동시 진행
script 실행은 html parsing이 다 끝나야 이뤄짐
: 만약 body태그에 안에 작성하는 경우, html을 모두 읽고 script를 읽기 때문에 로딩 속도가 빨라짐
하지만 javascript가 적용되지 않은 콘텐츠를 먼저 접하게 될 수도 있음
: 혹은 별도의 .js 파일을 만들어 연동 가능
: <script src=“별도의 파일.js” type=“text/javascript”> 작성해야 함 (type =“text/javascript”는 생략 가능, html5 부터)
: 해당 .js 파일에는 script 태그를 별도로 작성하지 않음
이렇게 html/css/javascript 각 정의와 역할 등에 대해 정리를 했는데,
역시 공부하다보면 결국 http등 cs 내용을 알아야 더 이해를 잘 할 수 있음을 깨닫는다.
html이 hypertext를 다루는 건 알겠는데, 그럼 hypertext는 정확히 무엇인가?
http, https는? ip? tcp/ip? api? 등등
hypertext
: 연결 정보가 나타나 있는 텍스트 (다른 정보로 연결되어 있는 텍스트)
hyperlink
: hypertext에 포함된 연결 정보 (클릭하면 다른 정보로 넘어가게 함)
결론적으로, 이 모든 정보를 포함하면
3-way handshake
: 1) client, “syn” -> 2) server, “syn” + “ack” -> 3) client, “ack”
PORT
: IP 패킷에서, 어플리케이션을 구분해주는 정보 (IP가 아파트라면, port는 동/호 정보)
TCP/IP 패킷
이 되는 것
- IP는 각 컴퓨터가 할당 받는 고유 주소이나, 32bit (IPv4 기준) 형태고 변동성이 있어 기억하기 어려움
- DNS는 각 IP 주소를 가독성이 좋은 영어/숫자로 구성된 domain name으로 1:1 대응
- 그럼 domain name과 host name의 차이점은?
: domain name은 흔히 '인터넷 주소'라고 불리는 것으로, host name/domain 등으로 구성됨
: https://www.google.com 에서 www는 host name, google은 domain, .com은 최상위 domain
: host name은 한 대의 서버/PC를 말함
: domain은 최상위 domain(.com, .net, .org, .gov 등)과 차상위 domain(.co, .go 등)이 있음- domain name은 FQDN, PQDN으로 나뉨
: FQDN (fully qualified domain name)
: PQDN (partially qualified domain name), 부분 도메인만으로 식별 가능
URL
: uniform resource locator (e.g. 나의 주소)
URN
: uniform resource name (e.g. 나의 이름)
내용 출처: 모든 개발자를 위한 HTTP웹 기본 지식, 김영한