CS/Network
[HTTP] HTTP Header에 대해서 알아보자(1)
HTTP Header에는 HTTP 전송에 필요한 모든 부가 정보가 담겨있다. ex) 서버 정보, 캐시 정보, 메세지 바디의 크기 ... 최신인 RFC7230에서는 메세지 본문을 통해 표현 데이터를 제공하며, 이를 페이로드(payload)라고 한다. 표현은 요청이나 응답에서 실제로 사용할 수 있는 데이터를 뜻하며, 표현 헤더는 표현 데이터를 해석할 수 있는 정보인 데이터 유형, 압축 정보, 데이터 길이등을 제공한다. 표현 헤더 표현 헤더는 응답과 요청에 모두 사용되며, 아래의 4가지가 있다. Content-type : 표현 데이터 형식 Content-Encoding : 표현 데이터 압축 방식 Content-Language : 표현 데이터의 자연 언어 Content-Length : 표현 데이터의 길이 Con..
[HTTP] HTTP 상태 코드
HTTP 상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능으로 크게 5가지로 구분된다. 1XX (Informational) : 요청이 수신되어 처리 중 2XX (Successful) : 요청 정상 처리 3XX (Redirection) : 요청을 완료하려면 추가 행동이 필요 4XX (Client ERROR) : 클라이언트 오류, 잘못된 문법등으로 서버가 기능을 수행 할 수 없다. 5XX (Server ERROR) : 서버 오류, 서버가 정상 요청을 처리하지 못 함. 2XX (Successful) 클라이언트의 요청을 성공적으로 처리 200 : 요청 성공 201 : 요청이 성공하여, 새로운 리소스가 생성됨 202 : 요청이 접수는 되었지만,처리가 되지 않았다. 204 : 서버가 요청을 성..
[Http] HTTP에 대해서 알아보자.
HTTP HyperText Transfer Protocol HTTP의 특징 클라이언트 서버 구조 무상태 프로토콜(Stateless), 비연결성 HTTP 메세지 단순함, 확장 가능 HTTP 버전 HTTP/1.1 : TCP -> 주로 해당 버전 사용 HTTP/2 : TCP HTTP/3 : UDP 1. 클라이언트와 서버 구조 클라이언트와 서버는 요청(Request)과 응답(Response)을 주고 받는다. 클라이언트는 요청을 보내고 응답을 대기하며, 서버는 요청에 대한 결과를 만들어서 응답한다. 2. 무상태 프로토콜(Stateless) 서버가 클라이언트의 상태를 보존하지 않기에, 서버 확장성이 높지만, 클라이언트가 지속적으로 추가 데이터를 전송해야한다. 3. 비연결성 HTTP는 연결을 유지하지 않는 모델로, ..
[인터넷 통신] URI
URI (Uniform Resource Identifier) Uniform : 리소스 식별하는 통일된 방식 Resource : 자원, URI로 식별 가능한 모든 것 Identifier : 다른 항모과 구분하는 데 필요한 정보 URI는 URL과 URN을 모두 포함하지만 주로 URN은 사용이 되지 않는다. URN (Uniform Resource Name) : 리소스에 이름을 부여한다. URL (Uniform Resource Locator) : 리소스가 있는 위치를 지정한다. 프로토콜(https) 호스트명(www.google.com) 포트 번호(443) 패스(/search) 쿼리 파라미터 예시 # 구조 scheme://[userinfo@]host[:port][/path][?query][#fragment] # ..
[인터넷 통신] IP, TCP/UDP, PORT, DNS
IP (Internet Protocol) -> 인터넷 프로토콜 지정한 IP 주소에 데이터 전달 패킷(Packet)이라는 통신 단위로 데이터 전달 패킷의 구성 : 출발 IP 주소, 도착 IP 주소, 데이터 IP의 한계 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷이 전송 된다. 비신뢰성 : 중간에 패킷이 소실 되거나 순서대로 도착하지 않을 수 있다. 프로그램 구분 : 같은 IP 주소에서 사용하는 서버에서 통신하는 프로그램이 두 개 이상이라면 구분이 안 됨. TCP (Transmission Control Protocol) -> 전송 제어 프로토콜 연결 지향(TCP 3 way handshake) : 연결 후 데이터 전달 데이터 전달 보증 : 패킷이 누락 되었을 경우 확인 가능 순서 보장 :..