웹(Web)
웹의 구조
- 클라이언트: 데이터 요청을 하는 주체(Request) / Browser …
- 서버: 데이터 요청을 받는 주체(Response) / WAS, DBS …
URL
http://news.naver.com:80/main/reand.nhn?mode=LSD&mid
- ‘?’를 기준으로 앞은 클라이언트가 서버로부터 다운받을 file경로, 뒤는 client가 보내는 Data(Query)임
URL |
의미 |
http:// 혹은 https:// |
- 프로토콜 |
- https에서 ‘s’는 security의 약자로, http에서 보안이 추가된 프로토콜임 |
| naver.com | Primary Domain |
| news | Sub Domain |
| 80 | Port번호(서버 app에 접속할 때 사용하는 코드, WAS: 80, MySQL: 3306 … )
서버의 PID라고 생각하면 되는건가? |
| /main/ | Path |
| read.nhn | Page(File) |
| mode=LSD | Query
key=value 형태로 되어있음 |
HTTP Request Methods
- 클라이언트가 서버에 Request하는 방법
- Get
- URL에 Query가 포함되어 있음
- 데이터 길이가 제한이 있음
- Post
- Body에 Query가 포함되어 있음(URL에 Query가 포함되어 있지 않음)
- Get방식보다 많은 데이터 전달 가능
- 예시) 로그인 할 때, Get방식을 사용하면 ID, Pwd가 URL에 노출이 된다. 따라서 이러한 민감한 정보는 Post방식을 사용한다.
- 예시) 검색창에 검색을 할 때, 검색어는 노출을 해도 되는 데이터이므로 Get방식을 사용한다.
HTTP Status Code
- Client와 Server가 데이터를 주고 받은 결과 정보
- 2xx - Success
- 2xx - Redirect (새로고침을 할 때 서버까지 가지 않고 이전에 다운받은 html을 로딩했을 때)
- 4xx - Request Error (해당 도메인 주소에 서버가 없을 때)
- 5xx - Server Error (해당 도메인 주소에 서버는 있는데 서버에 해당 데이터가 없거나 서버에 오류가 있을 때)
Cooke, Sesseion, Cache
- Cooke
- client의 ssd에 저장되어 있다.
- client의 브라우저에 저장하는 문자열 데이터
- 예시) 로그일 할 때 ID저장하기 버튼, 팝업 다시보지 않음, 내가 봤던 상품 정보 등
- Session
- Client의 브라우저와 Server의 연결 정보
- 예시) 자동 로그인
- Cache
- RAM에 저장하는 데이터
- RAM에 저장하는 데이터는 빠르게 로딩되어야 하는 데이터를 저장한다.
Scraping & Crawling