본문 바로가기
강의정리/모든개발자를위한HTTP웹기본지식

URI

by URMOO 2022. 8. 10.
반응형

Uniform Resorce Identifier

리소스를 식별하는 통일된 방식

URL, URN ?

  • URL은 리소스가 이 위치에 있음을 지정
  • URN은 리소스에 이름을 부여 ex) isbn:1234566
  • URN은 잘 사용되지 않아서 거의 URI = URL

URL 전체 문법

scheme://[userinfo@]host[:port][/path][?query][#fragment]
ex)
https://www.google.com:443/search?q=hello&hl=ko

https - 프로토콜

www.google.com - 호스트명

443 - 포트번호

/search - path

q=hello&hl=ko - query string

프로토콜(어떤 방식으로 자원에 접근할 것인가 하는 규칙)사용 ex) http, https, ftp

  • http는 80, https는 443.... 포트는 생략가능
  • https는 http에 보안 추가

userinfo

  • 거의 사용하지 않음

host

  • 호스트명
  • 도메인명 또는 IP 주소를 직접 사용

port

  • 접속 포트, 일반적으로 생략

path

  • 리소스 경로, 계층적 구조 ex) /users/1

query

  • key=value 형태
  • 문자형태로 넘어감
  • ?로 시작 &로 추가

fragment

  • html 내부 북마크 등에 사용
  • 서버에 전송하는 정보는 아님

 

웹 브라우저 요청 흐름

  1. 클라이언트 웹 브라우저에서 DNS 조회를 통해 서버 IP를 가져오고, 서버쪽에 HTTP 요청 메세지를 생성
    GET /search?q=hello&hl=ko HTTP/1.1
    HOST: www.google.com
  2. SOCKET 라이브러리를 통해 전달
    • TCP/IP 연결 (IP, PORT 정보)
    • 데이터 전달
  3. HTTP 메세지 포함 하여 TCP/IP 패킷 생성
  4. 서버에 패킷이 도착하면 원하는 요청을 처리하고 응답메세지를 만듦content type 에는 응답 형식과 언어를 담고 length에는 응답 형식의 길이를 담음
HTTP/1.1 200 ok
Content-Type: text/html;charset=UTF-8
Content-Length:3423

<html>
	<body>..</body>
</html>

5. 응답 패킷을 클라이언트에 전송하여 웹 브라우저에서 html을 읽어서 렌더링

 

반응형

'강의정리 > 모든개발자를위한HTTP웹기본지식' 카테고리의 다른 글

HTTP 상태코드 요약  (0) 2022.08.11
클라이언트에서 서버로 데이터 전송  (0) 2022.08.11
HTTP API를 만들어 보자  (0) 2022.08.11
HTTP  (0) 2022.08.11
인터넷 네트워크  (0) 2022.08.10

댓글