자바생
article thumbnail
HTTP 웹 기본 지식 - HTTP 헤더 2

캐시 클라이언트가 서버에 이미지 파일을 요청한다고 생각해보자. 캐시가 없을 경우에는 요청1을 통해 이미지 파일( HTTP헤더, HTTP 바디)을 서버로부터 전송받는다. 요청2를 통해 이미지 파일을 서버로부터 요청1과 같이 전송받는다. 그래서 요청할 때마다 데이터를 다운로드를 받아야하므로 브라우저 로딩 속도가 느려지게 된다. 캐시가 있을 경우에는 요청1을 통해 이미지 파일( HTTP헤더, HTTP 바디)을 서버로부터 전송받는다. 서버가 데이터를 전송할 때, 데이터를 브라우저 캐시에 저장한다. 요청2을 통해 이미지 파일을 전송받으려고 할 때, 캐시에 해당 파일이 존재하므로 캐시에서 데이터를 조회한다. 그래서 캐시 덕분에 캐시 가능 시간동안 네트워크를 사용하지 않아도 되므로 브라우저 로딩 속도가 캐시가 없을 ..

article thumbnail
HTTP 웹 기본 지식 - HTTP 헤더1 일반 헤더

표현 표현은 요청이나 응답에서 전달할 실제 데이터를 말한다. 표현은 표현 헤더와 표현 데이터를 합친 말로 표현 헤더는 표현 데이터를 해석할 수 있는 정보를 제공한다. 표현 헤더에는 type, encoding, language, length의 정보가 들어갈 수 있다. type은 이게 json인지 이미지인지 구별할 수 있는 정보를 제공한다. encoding은 표현 데이털르 어떤 식으로 압축했는지에 대한 정보를 제공한다. 옵션 중 하나인 identity는 압축을 하지 않는다. language는 데이터의 언어를 표현한다. length는 데이터의 길이, 바이트 단위를 표현한다. 협상 협상 헤더는 클라이언트가 선호하는 표현을 요청하는 것으로, 요청시에만 사용한다. Accept, Accept-Charset, Acce..

article thumbnail
HTTP 웹 기본 지식 - HTTP 상태코드

상태 코드 클라이언트가 요청을 보내면 응답을 하는데, 거기서 응답 코드에 따라 어떤 상태인지 나타내는 상태 코드라는 것이 있다. 1xx, 2xx, 3xx, 4xx, 5xx가 있는데 각각의 상태 코드는 뜻하는 바가 다르다. 그래서 해당 상태 코드를 보고 어떠한 점이 잘못된지 알고 수정하면 된다. 1xx 처리 중이라는 뜻으로 거의 사용하지 않는다고한다. 2xx 요청을 성공적으로 처리했다라는 뜻을 가진다. get을 이용해 멤버를 조회했을 때 응답 메시지에 200 OK를 볼 수 있다. post를 이용해 멤버를 등록하면 201 Created를 볼 수 있다. 여기서 생성된 리소스의 위치는 응답 메시지의 Location을 보면 알 수 있다. 202 Accepted는 요청이 접수됬는데 처리가 완료되지 않았다는 뜻이다...

article thumbnail
HTTP 웹 기본 지식 - HTTP 메서드 활용

앞에서 배운 HTTP 메서드들은 클라이언트에서 서버로 데이터를 전송할 때 각자의 쓰임새에 맞게 사용된다. HTTP 메서드 활용 강의 파트에서는 클라이언트에서 서버로 데이터를 전송할 때, 데이터 전달 방식과 그에 따른 상황에 따라 어떤 메서드가 사용이 되는지 배우게 된다. 데이터 전달 방식 데이터 전달 방식에는 크게 2가지가 있다. 쿼리 파라미터를 통한 데이터 전송 쿼리 파라미터란 우리가 앞에서 배운 ? 다음에 뭐가 나온 것들이라고 생각하면 된다. 주로 정렬 필터(검색어)에 사용된다고 한다. 아마 이건 우리가 검색창에 어떤 것을 검색하면 검색한 부분을 ? 뒤에 넣어서 데이터를 조회하는게 아닐까한다. 그래서 GET을 사용한다고 말하는 것 같다. 메시지 바디를 통한 데이터 전송 회원 가입, 상품 주문 등 다양..

article thumbnail
HTTP 웹 기본 지식 - HTTP 메서드

API URI 설계 URI를 설계할 때 가장 중요한 점은 리소스 식별이다. 회원 조회, 등록, 수정, 삭제가 리소스가 아니라 회원 자체가 리소스이다. 그래서 회원 리소스를 URI에 매핑시킨다. 그렇다면 회원 조회 : /members/{id} 회원 등록 : /members/{id} 회원 수정 : /members/{id} 회원 삭제 : /members/{id} 이렇게 나타낸다. 여기서 조회, 등록, 수정, 삭제를 어떻게 구분할까? 회원이라는 리소스를 가지고 어떠한 행위를 한다. 행위는 조회, 등록, 수정, 삭제를 의미한다. 리소스와 행위를 분리하는 것은 중요하다. 아무튼 여기서 이제 행위는 어떻게 구분할까? --> HTTP 메서드 사용 HTTP 메서드 GET 저번에 배웠던 요청 메시지처럼 GET 요청 메시지..

article thumbnail
HTTP 웹 기본 지식 - URI와 웹 브라우저 요청 흐름 & HTTP 기본

URI, URL, URN URI는 Uniform Resource Identifier의 약자이다. 확인하는 방법?을 통합하여 URI라고 부르는 것 같다. 확인하는 방법에는 URL과 URN이 있다. URN(Resource Name) 자원을 확인할 때? 이름을 부여한다. 이름으로 부여하게 되면 찾기 정말 어렵기 때문에 거의 사용하지 않는다. URL(Resource Locator) 우리가 평상시에 사용하던 URL이 이 URL이다. URL은 자원이 있는 위치를 지정한다. scheme://[userinfo@]host[:port][/path][?query][#fragment] https://www.google.com :443 /search ?q=hello&hl=ko 프로토콜, 호스트명, 포트 번호, path, 쿼리 ..

article thumbnail
HTTP 웹 기본 지식 - 인터넷 네트워크

IP(Internet Protocol) IP는 우리가 흔히 말하는 IP주소의 그 IP이다. IP의 역할은 지정한 IP주소에 데이터를 전달한다. 여기서 패킷이라는 통신 단위로 데이터를 전달한다. 패킷에는 출발지 IP, 목적지 IP 등이 있고 전송 데이터가 있다. 하지만 IP프로토콜은 다음과 같은 한계를 가지고 있다. 비연결성 패킷이 도착할 곳의 서버가 없거나, 종료(?)되있어도 패킷을 전송한다. 비신뢰성 중간에 패킷이 사라질 수도 있다 패킷을 1 2 3 순서대로 보냈는데, 2 1 3 이런 식으로 순서가 보장이 안된 체 도착할 수 있다. 프로그램 구분 만약 한 곳에 서로 다른 애플리케이션이 같이 들어올 때 구분지을 방법이 없다 TCP UDP 우리는 TCP/IP을 많이 들어보았을텐데, 이것은 프로토콜이 아니라..

728x90

검색 태그