개발 시야 넓히기

이상민·2024년 8월 4일
0

HTTP

HTTP(HyperText Transfer Protocol)는 웹에서 정보를 주고받기 위해 사용되는 프로토콜이다. 쉽게 말해, 웹 브라우저와 서버가 서로 소통하는 규칙이라고 할 수 있다.

HTTP의 동작 방식

요청(Request): 사용자가 웹사이트 주소를 입력하거나 링크를 클릭하면, 웹 브라우저는 서버에 HTTP 요청을 보낸다. 이 요청에는 웹사이트 주소(URL), 요청 방법(GET, POST 등), 그리고 추가적인 정보(헤더, 쿠키 등)가 포함

응답(Response): 서버는 요청을 받고, 요청한 정보를 처리한 후, 웹 브라우저에 HTTP 응답을 보냅니다. 이 응답에는 상태 코드(예: 200 OK, 404 Not Found), 응답 본문(HTML, 이미지, JSON 등), 그리고 추가적인 정보(헤더 등)가 포함

HTTP의 주요 특징

  • 텍스트 기반: HTTP 메시지는 사람이 읽을 수 있는 텍스트 형식으로 되어 있다.

  • 상태 코드: 서버가 요청을 처리한 결과를 나타내는 숫자 코드. 예를 들어, 200은 성공, 404는 페이지를 찾을 수 없음, 500은 서버 오류를 의미한다.

  • 비연결성: 각 요청과 응답은 독립적으로 이루어지며, 연결이 유지되지 않는다. 즉, 한 번 요청하고 응답을 받은 후에는 연결이 끊어진다. (하지만 HTTP/2와 같은 최신 버전에서는 일부 개선이 있다.)

  • 무상태성: 서버는 각 요청을 독립적으로 처리하며, 이전 요청에 대한 정보를 기억하지 않는다. (세션이나 쿠키를 사용해 무상태성을 보완할 수 있다.)

REST(ful)

REST(Representational State Transfer)는 웹 서비스를 설계하는 아키텍처 스타일. RESTful은 REST 원칙을 따르는 웹 서비스를 말한다. 쉽게 설명하자면, RESTful은 인터넷을 통해 데이터를 주고받는 간단하고 일관된 방법이다.

표쥰은 없지만 웬만하면 지키자, 소통에 드는 리소스를 줄이기 위함(대체로 지켜주면 좋다)

노트

프로토콜은 규약이다. 쉽게 말해, 네트워크 상에서 두 개 이상의 장치가 서로 통신할 때 따라야 하는 일련의 규칙.

주요 HTTP 메서드 중 options는 먼저 날라가서 정보를 물어보는 역할을 해준다.

보통 HTTPS를 99퍼정도 사용한다. 여기서 S는 Secure에 약자이다.

DNS

DNS(Domain Name System)는 인터넷 주소를 사람이 읽을 수 있는 도메인 이름(예: www.example.com)으로, 컴퓨터가 이해할 수 있는 IP 주소(예: 192.0.2.1)로 변환해주는 시스템입니다.

RESTful API를 설계 규약

  1. 동사보단 명사를, 단수보단 복수를
  2. 마지막에 / 넣지 않기
  3. _대신-사용+대문자 사용하지 않기
  4. 확장자 포함하지 않기
  5. 계층화 (중요) - 보기에 이해하기 쉽게 해놓는 것

PathVariable 과 RequestParam의 차이? (중요)

  • PathVariable(예:Userid)은 필수값 빠지면 안된다

  • QueryString(예 : 검색어) 빠져도 된다. 필수값이 아니다

노트

API를 작성할 때 QueryString이 없어도 잘 작동되어야 좋은 API라고 볼 수 있다.

HTTP 특징

1.connections
2.stateless(매우 중요) : 상태가 없다는 뜻 -> (다음 포스팅때 중점적으로 정리할 예정)

Java

클래스는 틀이다 - 설계도 (종이에 불과하다) 그자체로는 아무것도 아니다

생성자와 메소드의 구분법 : 클래스와 생성자는 이름이 같다, 메소드는 다르다

생성자란? : 반드시 이 클래스로 객체를 생성할 때는 이 방법 말고는 못 써 . 반드시 이 방법으로 이 객체를 생성해(강제)엄격함

private한 것은 setter활용

메모리에 클래스는 존재하지 않고 객체만 올라가게 된다

Integer 와 String int 와 Integer의 차이 int//원시타입 Integer//Class

List에는 클래스만 들어간다

int 보다는 Integer를 많이 사용하자 (활용도가 높다)

노트(중요)
static은 정적변수 메모리 주소가 변경되지 않는 static을 많이쓴다면 의심해보자(함부로 쓰지 말자)
static은 무조건 메모리에 올라간다. 다른 것은 실행해야 올라간다.

static은 시스템이 작동하면 무조건 메모리에 올라가기 때문에 내가 코딩중에 static이 많다면 한번 의심해보고 점검해 볼 필요가 있다는 것을 명심하자!!

profile
안녕하세요

0개의 댓글