http://www.google.com/intl/ko_kr/about/
http:// 프로토콜 정의
www.google.com -> Domain Name을 쓰는곳
intl/ko_kr/about/ 라우팅하는곳 한 서버에서도 갈림길이 있는 곳이다. 즉 디테일한 주소를 알려주는곳
도메인 이름 탐색
1. DNS(Domain Name Server) 서버에 접속한 후, www.google.com의 IP가 무엇인지 요청
2. DNS 서버는 요청에 대한 응답으로 216.58.197.196 리턴 (이 ip들어가면 구글로 들어가진다.)
웹 서버 (HTTP) 요청
1. 웹 서버의 라우팅(routing : 주소 탐색 규칙)에 따라 요청 처리
단순하게 정적 파일만 제공하는 경우 다음과 같이 조희(URL)
웹서버루트/intl/ko_kr/about/index.html
서버가 비즈니스 로직을 실행하도록 요청할 수도 있음
웹서버루트/search?q=codestates
웹서버루트/preferences
2. 서버가 요청에 대한 응답을 자원(resource:HTML/JS파일 등)의 형태로 전달
3. 서버가 보내주는 자원을 브라우저에서 처리 없으면 404라는 것을 볼 것이다.
서버와 클라이언트가 주로 HTML 등의 문서를 주고 받는 데 사용하는 프로토콜 주로 TCP/UDP 80번 포트를 사용 (80이 생략되고 주소가되어있는것이다.)
See also : TCP, UDP, well-known port
Must Read : RFC2616 - Hypertext Transfer Protocol -- HTTP/1.1 -> 읽어보고싶으면
HTTP/1.1의 경우 요청과 응답은 start/Status line, Header 그리고 Body로 이루어져 있다. https://developer.mozilla.org/en-US/docs/Web/HTTP/Messages
URL
HTTP 요청은 URL을 통해 할 수 있다.
주소창을 통해 하는 요청은 전부 GET Request
Network 창에 Status Code을 보고 정상인지 아닌지 파악하는 방법을 알아야한다.
200 - 요청 성공
304 - 요청에 대한 응답이 수정되지 않음(Cache)
403 - 컨텐츠에 접근할 권한 없음
404 - 요청받은 리소스를 사용할 수 없음(not found)
500 - 서버가 처리할 수 없는 요청(server 터진상황)
Get 특정 리소스를 가져오도록 요청
POST - 데이터를 서버로 제출하는 용도로 사용하며, 서버 상태의 변화를 일으킴 (form 제출할때 많이 사용된다.)
PUT - POST와 비슷하나, 연속적인 요청시에도 같은 효과를 가져옴. 기존 데이터를 교체하는 용도로 쓰일 수 있음
DELETE - 리소스의 삭제를 요청할 때 사용