HTTP
- Hyper Text Transfer Protocol
- 프로토콜
- 서로간의 통신을 위한 약속 규칙
- 주고 받을 데이터에 대한 형식을 정의한 것
- 단순하고 읽기 쉽다.
- 텍스트 기반의 프로토콜
- stateless(상태를 유지하지 않는다.)- 클라이언트 정보를 저장X → 같은 컴퓨터인지 구별 못함 → 이를 보완하기위해 쿠키,세션 사용
- 헤더는 대소문자 구분x, :문자 바로 뒤 공백 무시확장 가능하다. → 커스텀 헤더 추가 가능
- HTTP 응답 메시지
- 상태코드( HTTP/1.1 200 OK) 에서 중간 숫자가 코드, OK는 설명, 설명은 바뀔 수 있다.
- 100번대- 클라이언트_서버간의정보통신 200번대- 성공 300번대- 다른 URL로 요청해라 400/500번대- 에러
- HTTP에서 헤더와 바디를 빈줄로 구분한다.
- HTTP 요청 메시지
- GET
- 리소스를 받아오기 위한 요청
- 헤더만 있고 바디가 없다.
- url에 쿼리스트링으로 요청내용을 보낼 수 도 있다 (소용량)
- URL에 데이터가 노출되므로 보안에 취약
- 데이터 공유에 유리 ex.검색엔진에서 검색단어 전송에 이용
- POST
- 서버에 전송한 데이터를 바디에 담아 보낼 수 있다.
- 글쓰기, 회원가입, 파일첨부, 로그인 등등
- 서버에 데이터를 올리기 위해 설계됨
- 전송 데이터 크기의 제한이 없음(대용량)
- 보안에 유리, 데이터 공유에는 불리
- → HTTPS(HTTP+TLS)프로토콜 써야 보안에 유리
- PUT
- 데이터 수정요청 (대체수정)
- 바디에 내용을 담을 수 있다.
- 부분 수정일 경우 PATCH
- DELETE
- 데이터 삭제요청
- 바디가 없다.
- GET
'I leaned > Etc' 카테고리의 다른 글
도커(Docker) (0) | 2023.05.30 |
---|---|
텍스트파일과 바이너리파일 (0) | 2023.05.11 |
JAR,WAR 차이 (0) | 2023.05.10 |
TDD(Test Driven Development) (0) | 2023.05.02 |
DevOps (0) | 2023.04.24 |