본문 바로가기

CS7

HTTPServletRequest, HTTPServletResponse HTTPServletRequest 1. GET - 쿼리스트링     /url?username=hi&age=20     메시지바디 없이, 쿼리스트링을 이용하여 데이터 포함해 전달     검색, 필터, 페이징 등에서 많이 사용 package hello.servlet.basic.request;import jakarta.servlet.ServletException;import jakarta.servlet.annotation.WebServlet;import jakarta.servlet.http.HttpServlet;import jakarta.servlet.http.HttpServletRequest;import jakarta.servlet.http.HttpServletResponse;import java.io.IO.. 2024. 6. 11.
HTTP 헤더 - 헤더2 (캐시, 조건부) 캐시가 없을때 response를 줄때   HTTP 헤더: 0.1M  HTTP 바디: 1.0M 이런식으로 줄 수 있다.이는 다시 요청해도 마찬가지다.즉, 요청시마다 네트워크를 이용해야 한다. 캐시가 있을 때응답헤더 ( cache-control: max-age=6060초동안은 캐시가 유효하다.)  캐시가 있다면  HTTP 헤더: 0.1M  HTTP 바디: 1.0M 응답 결과를 브라우저 캐시에 저장한다. 두번째 요청하는 경우 브라우저 캐시를 뒤져서 유효한 캐시가 있을 경우 캐시에서 조회한다.즉, 네트워크를 사용하지 않아도 됨.캐시 유효시간 초과시, 서버를 통해 데이터 다시 조회하고 캐시를 갱신 검증헤더와 조건부 요청1캐시 만료 후에도 서버에서 데이터를 변경하지 않을 경우 캐시 재사용가능, 다만 클라이언트와 서.. 2024. 6. 9.
HTTP 헤더 - 헤더1 헤더: HTTP 전송에 필요한 모든 부가정보 RFC7230~7235 Entity -> Representation = representation Metadata + Representation Data 표현 = 표현 메타데이터 + 표현데이터 HTTP BODY (message body): 메시지 본문을 통해 표현(representation)데이터 전달메시지 본문 = 페이로드(payload)표현은 요청이나 응답에서 전달할 실제 데이터표현 헤더는표현 데이터를 해석할 수 있는정보 제공 (데이터 유형 html json, 데이터 길이, 압축정보 등)  표현 - representation헤더:Content-Type: 표현 데이터의 형식  / ex) Content-Type: text/html;charset=UTF-8 or.. 2024. 6. 9.
HTTP 상태코드 response 코드 1xx (Informational) : 요청이 수신되어 처리중2xx (Successful): 요청 정상처리3xx (Redirection): 요청을 완료하려면 추가 행동이 필요4xx (Client Error): 클라이언트 오류, 잘못된 문법 등으로 서버가 요청 수행 불가5xx (Server Error): 서버 오류, 서버가 정상 요청 처리 불가 클라이언트가 모르는 상태코드를 서버가 반환하면? 299 -> 200으로 인식 2XX200 => ok201 => Created : 요청이 성공해서 새로운 리소스가 생성됨202 => Accepted: 요청이 접수되었으나 처리가 완료되지 않음. ex_ 요청 접수 후 1시간 후 배치 프로세스가 요청 처리204 => No Content: 서버가 요청을 .. 2024. 6. 9.
URI와 웹 브라우저 요청 흐름, Stateful URI (Uniform Resource Identifier) 리소스 식별자URI는 리소스 로케이터 - (리소스 위치 URL), 리소스 이름(URN) 또는 둘다 추가로 분류될 수 있다.URI 안에 URL과 URN이 있다.https://www.ietf.org/rfc/rfc3986.txt Uniform : 리소스를 식별하는 통일된 방식 Resource : 자원으로 URI로 식별할 수 있는 모든 것 (제한 없음) Identifier : 다른 항목과 구분하는데 필요한 정보 URL : 리소스가 있는 위치를 지정URN : 리소스에 이름을 부여- 위치는 변할 수 있지만 이름은 변하지 않는다. ex) 책의 isbn https://www.google.com/search?q=hello&hl=koscheme://[userin.. 2024. 6. 4.
IP(인터넷 프로토콜), PORT, DNS 인터넷 프로토콜의 약자로IP 패킷이라는 통신 단위로 지정한 IP 주소에 데이터를 전달하는 역할을 한다. IP패킷 정보- 출발지 IP- 도착지 IP- 전송 데이터- 등 IP프로토콜의 한계 - 비연결성 : 패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷 전송됨 - 비신뢰성 : 패킷이 중간에 사라지거나 패킷이 순서대로 안오면??? 해결방법이 없다. (패킷들이 다른 노드를 탈 경우) - 프로그램 구분: 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상이면?? 구분 방법이 없다. 이를 위해 TCP프로토콜이 생겼다. 인터넷 프로토콜의 4계층애플리케이션 계층 - HTTP, FTP (웹브라우저, 네트워크게임, 채팅 프로그램) - socket라이브러리전송 계층 - TCP, UDP인터넷 계층 - IP 네.. 2024. 6. 3.