2024.10.18.금.TIL HTTP Method

김기남·2024년 10월 18일
post-thumbnail

안녕하세요, 오늘은 HTTP Method 에 대해 정리해 보았습니다.

HTTP 메소드란?

HTTP 메소드는 클라이언트가 서버에 요청을 보낼 때 사용하는 방법을 의미합니다. 주로 웹 브라우저와 서버 간의 데이터 전송에 사용되며, 각 메소드는 특정한 목적을 가지고 있습니다. 예를 들어, 데이터를 조회하거나, 생성하거나, 수정하는 등의 작업을 수행할 수 있습니다.

HTTP 메소드 종류

HTTP 메소드는 여러 가지가 있으며, 가장 일반적으로 사용되는 메소드는 다음과 같습니다:

  • GET : 서버에서 데이터를 조회할 때 사용합니다.
  • POST : 서버에 데이터를 전송하여 새로운 리소스를 생성할 때 사용합니다.
  • PUT : 서버의 기존 리소스를 수정하거나 대체할 때 사용합니다.
  • PATCH : 리소스의 일부를 수정할 때 사용합니다.
  • DELETE : 서버에서 리소스를 삭제할 때 사용합니다.
  • HEAD : GET 요청과 유사하지만, 응답 본문 없이 헤더 정보만 요청합니다.
  • OPTIONS : 서버가 지원하는 메소드의 목록을 요청합니다.
  • TRACE : 요청이 서버에 도달하는 경로를 추적합니다.
  • CONNECT : 프록시 서버와의 연결을 설정합니다.

각 HTTP 메소드의 특징

각 HTTP 메소드는 특정한 특징을 가지고 있습니다. 예를 들어, GET 메소드는 데이터를 조회하는 데 사용되며, 요청 본문을 포함하지 않습니다. 반면, POST 메소드는 데이터를 서버에 전송할 때 사용되며, 요청 본문에 데이터를 포함할 수 있습니다. 아래의 표에서 각 메소드의 특징을 확인할 수 있습니다.

HTTP 메소드의 사용 예시

HTTP 메소드는 다양한 상황에서 사용됩니다. 예를 들어, 사용자가 웹사이트에서 정보를 검색할 때 GET 메소드를 사용하여 서버에 요청을 보냅니다. 사용자가 회원가입을 할 때는 POST 메소드를 사용하여 입력한 정보를 서버에 전송합니다. 또한, 사용자가 자신의 정보를 수정할 때는 PATCH 메소드를 사용하여 필요한 필드만 업데이트할 수 있습니다. 아래의 예시를 통해 PATCH 메소드의 사용을 확인해 보세요.

HTTP 메소드의 안전성 및 캐시 가능성

HTTP 메소드는 안전성과 캐시 가능성에 따라 분류될 수 있습니다. 안전한 메소드는 서버의 상태를 변경하지 않는 메소드로, GET과 HEAD가 이에 해당합니다. 반면, POST, PUT, PATCH, DELETE 메소드는 서버의 상태를 변경하므로 안전하지 않습니다. 또한, 캐시 가능성에 따라 GET 메소드는 캐시가 가능하지만, POST 메소드는 일반적으로 캐시되지 않습니다. 아래의 표에서 각 메소드의 안전성 및 캐시 가능성을 확인할 수 있습니다.

오늘의 코드카타

class Solution {

    public int solution(String[][] board, int h, int w) {
        int n = board.length;
        int count = 0;
        int[] dh = {0, 1, -1, 0};
        int[] dw = {1, 0, 0, -1};
        for (int i = 0; i < 4; i++) {
            int h_check = h + dh[i];
            int w_check = w + dw[i];

            if (h_check >= 0 && h_check < n && w_check >= 0 && w_check < n) {
                if (board[h][w].equals(board[h_check][w_check])) {
                    count++;
                }
            }
        }
        return count;
    }
}
public class Main {

    public static void main(String[] args) {

        Solution solution = new Solution();

        String[][] a1 = {{"blue", "red", "orange", "red"}, {"red", "red", "blue", "orange"}, {"blue", "orange", "red", "red"},
            {"orange", "orange", "red", "blue"}};
        String[][] a2 = {{"yellow", "green", "blue"}, {"blue", "green", "yellow"}, {"yellow", "blue", "blue"}};

        System.out.println(solution.solution(a1, 1, 1));
        System.out.println(solution.solution(a2, 0, 1));
    }
}

이웃한 칸

profile
새로운 시작~!

0개의 댓글