본문 바로가기
JAVA & SPRING/HTTP 웹 기본 지식

HTTP 웹 기본 지식 - 2일차(URL)

by 눈오는1월 2023. 8. 3.
728x90

URI는 Uniform Resource Identifier의 약자로 리소스를 식별할 수 있는 것을 뜻한다 ( 사람들을 식별할 때 주민번호를 쓰는 것처럼)

URI, URL, URN 차이

이러한 URI는 URL과 URN 이라는 게 있는데 앞에 U R은 똑같고 뒤에는 Locator , Name 이란 뜻으로 

URL은 말 그대로 리소스가 있는 위치를 지정하는 것이고, URN은 리소스에 이름을 부여하는 것이다.

요즘에는 거의 다 URL을 많이 쓰는데 URN이름 만으로 실제 리소스를 찾을 수 있는 방법이 보편화되지 않았기 때문이다.

 

 

URL도 URL만에 문법이 있다.

URL 문법

scheme://[userinfo@]host[:port][/path][?query][#fragment] ( URL에 들어가는 내용 순서대로)

https://www.google.com:443/search?q=hello&hl=ko(예시)

 

헬로

아델의 노래

www.google.com

URL은 프로토콜(https), 호스트명(www.google.com), 포트번호(443), 패스(/search), 쿼리 파라미터(q = hello & hl = ko)로 구성되어 있다.

 

scheme

프로토콜이 사용된다(http, https, ftp 등등 있다)

(** https와 http의 차이점으로는 https는 http에 강력한 보안이 적용된 것이다. HTTP Secure)

http는 80 포트 https는 443 포트를 주로 사용한다.

 

userinfo

URL에서 사용자정보를 포함해서 인증한다 -> 거의 사용되지 않는다.

 

host

말 그대로 host명이다 도메인 명 or IP 주소를 직접 사용한다.

 

PORT

말 그대로 PORT이고 일반적으로는 보통 생략한다.

 

Path

리소스 경로를 뜻한다

 

query

key = value 형태이고 주로 문자열이 사용돼서 쿼리 스트링 이라고도 부른다.

 

fragment

html 내부 북마크에 사용되고 서버에 전송하는 정보는 아니다.

 

 HTTP 메시지 전송 과정은 http 메시지를 생성 후 소켓 라이브러리를 통해 서버와 연결한 후 TCP/IP에 전달한다. 그 후 패킷을 생성한 후 LAN을 통해서 서버로 전달한다.

 

클라이언트가 서버로 HTTP 요청 메세지를 보냄
서버가 클라이언트로 응답 메세지를 보냄

 

 

 

728x90