인프런 Spring 강의 정리/모든 개발자를 위한 HTTP 웹 기본 지식
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/xTa05/btsDGI2jCFp/xkRLhCxKMTvTdW2rgivBuK/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 HTTP API를 만들어보자 ⚡ 요구사항 🔶 회원 정보 관리 API를 만들어라 회원 목록 조회 회원 조회 회원 등록 회원 수정 회원 삭제 ⚡ API URI 설계 🔶 URI : Uniform Resource Identifier ❗ URI 설계에서 리소스 식별이 가장 중요함 리소스 : 회원을 등록하고 수정하고 조회하는 것이 아니라, 회원이라는 개념 자체 리소스 식별 회원을 등록하고 수정하고 조회하는 것을 모두 배제 회원이라는 리소스만 식별하면 됨 -> 회원 리소스를 URI에 매핑 ✔ 회원 목록 조회 : /members ✔ 회원 조회 : /members/{id} ✔ 회원 등록 : /members/{id} ✔ 회원 수정 : /members/{id} ✔ 회원 삭제 : /members/{id} 💡 cf) 계층 ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/XOAAK/btsDGoiJget/mwSwkq4KgOi0I3bkgZIKV1/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 모든 것이 HTTP 🔶 HTTP : Hyper Text Transfer Protocol ⚡ HTTP 메시지에 모든 것을 전송 HTML, TEXT IMAGE, 음성, 영상, 파일 JSON, XML(API) 거의 모든 형태의 데이터 전송 가능 서버 간에 데이터를 주고 받을 때도 대부분 HTTP 사용 지금은 HTTP 시대 ⚡ HTTP 역사 HTTP/0.9 1991년: GET 메서드만 지원, HTTP 헤더X HTTP/1.0 1996년: 메서드, 헤더 추가 HTTP/1.1 1997년: 가장 많이 사용, 우리에게 가장 중요한 버전 RFC2068 (1997) -> RFC2616 (1999) -> RFC7230~7235 (2014) HTTP/2 2015년: 성능 개선 HTTP/3 진행중: TCP 대신에 UDP 사용..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/cMrjW9/btsDI96dpzo/e4V1K1NEk72YQXEXlJmgf0/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 URI? URL? URN? URI : 로케이터(locator), 이름(name) 또는 둘 다 추가로 분류될 수 있음 URI(Resource Identifier)이라는 큰 개념 속에 URL(Resource Locator), URN(Resource Name)이 존재 ⚡ URI(Uniform Resource Identifier) 🔶 Uniform : 리소스 식별하는 통일된 방식 🔶 Resource : 자원, URI로 식별할 수 있는 모든 것(제한 없음) 🔶 Identifier : 다른 항목과 구분하는 데 필요한 정보 ✔ URL : Uniform Resource Locator Locator : 리소스가 있는 위치 지정 ✔ URN : Uniform Resource Name Name : 리소스에 이름 부여 위치..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/cVpeej/btsDLuVzCBd/jiGL1EIoHSkZ5XkhAE1aeK/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 IP(인터넷 프로토콜) ⚡ 인터넷 프로토콜 역할 지정한 IP 주소(IP Address)에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 ⚡ IP 프로토콜의 한계 ✔ 비연결성 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송 확인이 어렵다는 한계가 있음 ✔ 비신뢰성 중간에 패킷이 사라지거나 패킷이 순서대로 오지 않는 상황 ✔ 프로그램 구분 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이라면? 📌 TCP, UDP ⚡ 인터넷 프로토콜 스택의 4계층 애플리케이션 계층 : HTTP, FTP 전송 계층 : TCP, UDP 인터넷 계층 : IP 네트워크 인터페이스 계층 ⚡ 프로토콜 계층 SOCKET 라이브러리를 통해 OS 계층에 메세지 넘김 OS 계층에서 메시지에 TCP ..