📝패킷
크게 헤더와 바디로 나뉩니다.
📝헤더
헤더에는 7가지 HTTP 메서드 방식중 무엇을 썻는지, 요청 클라이언트의 정보, 브라우저 정보, 접속할 URL 등등 과 같은 클라이언트 정보를 담는다
📝바디
바디는 보통 비어있다. 하지만, 특정 데이터를 담아서 보낼 수 있다
📝POST방식
Body영역에 데이터를 실어 보낸다 (내용 안 보임) 그래서 보안에 GET방식보단 강하다
데이터 전송양에 길이 제한이 없으며 대용량 데이터를 보내는데 적합합니다.
📝GET방식
www.example.com?id=mommoo&pass=1234와 같이 URL에 Parameter를 전송하기 때문에 body영역을 사용하지 않는다
옛날에는 URL포함 255자 까지 전송이 가능하며 HTTP/1.1 에서는 2048자 까지 가능하지만 요즘은 제한이 없다 (WAS나 서버에서 제한을 줄 수도 풀 수도 있음)
📝URLEncoding vs Encode
- URLEncoding
- GET방식으로 호출할 때 "키=값"으로 데이터를 전달할 때 값에 한글 및 #, $, %, = 등... 특수문자가 들어가는 경우 비정상적으로 동작(예약어 동작 등...)할 수 있기 때문에 URL 인코딩 과정이 필요하다 → 인코딩안하면 영어만 인식할 수 있고 나머지 다 인식못해서 URL 에러나옴 (GET방식의 경우 header의 ContentType 인코딩방식은 문제가 되지 않고 URL 인코딩만 하면 된다)
- Encode
- 데이터를 보내려면 해당 데이터를 이진데이터로 보내는데 UTF-8 체계를 따라 이진데이터로 만들지에 대한 설정을 합니다 간단히 이야기하면 데이터를 2글자씩 끊어서 보내는 것과 3글자씩 끊어서 보내는 느낌이다
'[CS 지식]' 카테고리의 다른 글
[CS 지식] 자바스크립트, Nodejs, 디버깅, 프레임워크(FrameWork), 라이브러리(Library) (0) | 2021.07.26 |
---|---|
[CS 지식] URI, URL, URN, RestAPI, Restful, SOAP (0) | 2021.07.26 |
[CS 지식] 자바 API 도큐먼트, Javac, 퍼블리셔, 프론트엔드, Bit 단위(TByte, GByte, MByte, KByte, Byte) (0) | 2021.07.26 |
[CS 지식] 리퀘스트, 리스펀스, 클라이언트, 서버, 크롤링, 빅데이터 (0) | 2021.07.26 |
[CS 지식] 정적웹페이지, 동적웹페이지, JSP, 서블릿(Servlet), JSTL (0) | 2021.07.25 |