-
HTTP 가 뭔가요 ? Tomcat 의 요청가능한 최대 데이터 크기?CS-Theory/NetWork 2023. 7. 27. 17:30
이글은 웹 서비스의 기본이 되는 http 와 관련된 내용 및 톰캣 공식 문서의 내용 일부를 포함한다.
HTTP 가 뭔가요 ?
HTTP 란 무엇인가 ?
Hyper Text Tranfer Protocol의 약자로 www 상에서 정보를 주고 받는 프로토콜이며 응용계층에 속하며 80 번 포트를 사용하여 통신을 한다.
HTTPS 는 443 번 포트를 사용한다.
우리가 흔히 보는 http 의 url 주소는 그럼 어떻게 http 메시지에 들어 가게 되는건가?
답은 메시지의 구조에 있다.
Http 프로토콜에서 사용되는 Request Message 는 크게 요청 라인 , 헤더 ,바디로 이루어져 있다.
HTTP 메서드 , Request Target , 프로토콜 버전 정보 이 들어가는 RequestLine
ex )
GET /api/users?id=123&name=JohnDoe HTTP/1.1
상태코드 , HOST 도메인 주소 , 세션 ID 가 들어있는 쿠키 등의 정보를 가지는 RequestHeader
각종 데이터가 들어가 있는 RequestBody
ex) multipart , html
보통 body 에는 서버의 응답 메시지와 클라이언트에게 필요한 데이터를 담아 response 값으로 전달을 한다.
HTTP 매서드를 사용하여 api 가 어떤 요청을 하는지 클라이언트와 서버사이의 규약을 만들고 서버의 상태 및 자원의 생성,요청,상태 변화 등의 목적으로 클라이언트에서 요청을 보낸다.
GET과 POST 의 차이는 무엇인가 ?
Get 방식은 서버의 데이터의 상태가 바뀌거나 민감한 정보를 서버에 요청하지 않고 조회를 할때 주로 사용하며
Post 방식은 request body 를 사용하여 서버의 값이나 상태를 변경 또는 추가하기 위해서 사용한다.
메시지의 구조를 보면 url 쿼리를 통하여 민감한 정보를 외부에 노출이 가능하기 때문에 post 메서드를 사용하여 response body 의 회원의 비밀 번호를 담아 로그인을 요청할 수 도 있다.
POST PATCH의 차이는 무엇인가 ?
둘다 서버와 데이터를 주고받으며 상태를 바꾸는 http 메서드로 이용이 되며 자원을 생성 하거나 조회를 할때 post , 서버 자원의 상태일부를 수정하는데 patch 를 사용하며 추가로 자원의 전체를 업데이트 하는 것 은 PUT 메서드이다.
클라이언트와 서버가 서로 데이터를 주고 받는다면 얼만큼 데이터를 보낼 수 가 있는가 ?
공식적으로 http 1.1 스펙에 등록된 크기의 제한은 없고 웹서버의 설정 , 브라우저의 제한 , 중간 네트워크 장비에 따라 다르다 .
Tomcat 의 요청가능한 최대 데이터 크기?
Springboot 2.7 에서 사용하는 apache Tomcat 의 요청가능한 데이터크기의 제한은 없으며 데이터 사이즈가 커지면 스트리밍 방식으로 tomcat 에서 처리가 가능하다.
자료 출처
[사진 1]
- https://gnaseel.tistory.com/23
[사진 2]
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Messages
HTTP Messages - HTTP | MDN
HTTP messages are how data is exchanged between a server and a client. There are two types of messages: requests sent by the client to trigger an action on the server, and responses, the answer from the server.
developer.mozilla.org
https://tomcat.apache.org/tomcat-9.0-doc/index.html
Apache Tomcat 9 (9.0.78) - Documentation Index
This is the top-level entry point of the documentation bundle for the Apache Tomcat Servlet/JSP container. Apache Tomcat version 9.0 implements the Servlet 4.0 and JavaServer Pages 2.3 specifications from the Java Community Process, and includes many addit
tomcat.apache.org
'CS-Theory > NetWork' 카테고리의 다른 글
그럼 SYN 패킷은 어떻게 이루어져 있나요 ? TCP/IP 원리 (3) (0) 2023.07.27 앱 서버로 API 를 호출 하면 몇번의 데이터 통신이 발생하나요 ? TCP/IP 원리 (2) (0) 2023.07.25 TCP 가 뭔가요? TCP/IP 원리 (1) (0) 2023.07.25 허브 , 스위치, 라우터 , 공유기의 차이 TCP/IP 원리 (0) (0) 2023.07.25