| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- MongoDB
- 분할정복
- 스프링 부트
- 동적계획법
- document database
- 다이나믹프로그래밍
- 정처기
- 정보처리기사
- sqld
- spring security
- 캐시
- 깃허브
- 스프링 시큐리티
- 호이스팅
- 레디스
- 게시판
- 실행 컨텍스트
- github
- 스프링부트
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- Spring Boot
- VMware
- 자바의 정석
- 영속성 컨텍스트
- JPA
- Redis
- NoSQL
- 이벤트루프
- SQL
- in-memory
- Today
- Total
목록Web/HTTP (6)
FreeHand
field-name: field-value 형식으로 이루어짐 Content-Type 데이터의 형식 Content-Type: text/html;charset=UTF-8 Content-Type: application/json Content-Type: image/png Content-Encoding 데이터의 압축 방식 Content-Encoding: gzip Content-Encoding: deflate Content-Language 데이터의 자연어 Content-Language: ko Content-Language: en Content-Length 데이터의 길이 Referer 현재 요청된 페이지의 이전 페이지 주소(유입 경로를 알 수 있음). 요청에서 사용 User-Agent 클라이언트의 애플리케이션 정보(..
상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx (Informational): 요청이 수신되어 처리중 2xx (Successful): 요청 정상 처리 3xx (Redirection): 요청을 완료하려면 추가 행동이 필요 4xx (Client Error): 클라이언트의 잘못된 요청으로 서버가 요청을 수행할 수 없음 5xx (Server Error): 서버가 정상 요청을 처리하지 못함 코드 메시지 설명 200 OK 오류 없이 전송 성공 201 Created 요청 성공해서 새로운 리소스가 생성됨 202 Accepted 요청이 접수되었으나 처리가 완료되지 않음 204 No Content 요청을 성공적으로 수행했지만 응답에 보낼 데이터가 없음 301 Moved Permanently ..
주요 메서드 GET 리소스 조회 서버에 전달할 데이터는 query(쿼리 파라미터, 쿼리 스트링)를 통해서 전달 바디를 통해 데이터를 전달할 수 있지만 권장하지 않음(지원하지 않는 서버가 많음) POST 요청 데이터 처리 바디를 통해 데이터를 전달 주로 새로운 리소스 등록(생성), 프로세스 처리에 사용 클라이언트는 /members에 리소스 생성 요청 서버가 /members/100에 리소스 생성. Response의 Location으로 알려줌 PUT 리소스를 대체(덮어쓰기) 해당 리소스가 없으면 생성 클라이언트가 리소스 위치를 알고 URI 지정 (POST와 차이점) 예: PUT /files가 아닌 PUT /files/car.jpg로 리소스의 URI를 지정 PATCH 리소스 부분 변경 DELETE 리소스 삭제 ..
URI 설계 회원 목록 조회 /read-member-list 회원 조회 /read-member-id 회원 등록 /create-member 회원 수정 /update-member 회원 삭제 /delete-member 리소스와 행위를 분리, 계층 구조 활용 회원 목록 조회 /members 회원 조회 /members/{id} 회원 등록 /members/{id} 회원 수정 /members/{id} 회원 삭제 /members/{id} 조회, 등록, 수정, 삭제(행위)는 HTTP 메서드로 구별한다. REST API URI Naming Conventions and Best Practices (restfulapi.net)
HTTP 메시지 구조 start-line header empty line message body 시작 라인 start-line = request-line(요청) / status-line(응답) request-line = method request-target HTTP-version (예: GET /search?q=hello&hi=ko HTTP/1.1) status-line = HTTP-version status-code reason-phrase (예: HTTP/1.1 200 OK) 헤더 HTTP 전송에 필요한 부가정보 field-name: field-value 예: Content-Type: text/html;charset=UTF-8 바디 실제 전송할 데이터 (HTML, 이미지, 영상, JSON 등)
HTTP란 웹 서버와 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약을 말함 html이나 text 말고도 이미지, 영상, 음성, JSON, XML 등 거의 모든 형태의 데이터를 주고 받을 수 있다. (브라우저-서버) 그리고 (서버-서버)에서도 HTTP를 사용하여 데이터를 주고 받는다. HTTP는 stateless(무상태) 프로토콜 즉 서버가 클라이언트의 상태를 보존하지 않는다. 서버 확장성 높음 클라이언트가 추가 데이터 보내야함 상태 유지가 필요한 경우(로그인 상태 유지)에는 쿠키, 세션 등을 활용 HTTP는 connectionless(비연결성) 모델 클라이언트의 요청이 있을 때만 연결하고 요청이 끝나면 연결을 끊음 따라서 서버 자원을 효율적으로 사용 가능 그러나 매번 새로 연결하는 시간이 걸림..