Web/Basic 6

[Web] HTTP 메서드 (1) GET / POST 방식 + 멱등성, HTTP 요청바디

보통 자원을 조회하거나 검색할 때는 GET 방식을, 자원을 생성(등록)하는 경우 POST 방식을 사용한다. 하지만 언제나 그런 것은 아니다. 그렇기 때문에 상황과 기능에 맞는 메서드를 지정하기 위해서 이번에는 GET과 POST 메서드의 상세한 특징에 대해 주요 키워드와 함께 살펴보고자 한다. '안전한' 메서드와 '멱등성' GET 메서드를 사용할 경우에는 해당 요청이 '안전한 요청'이어야 한다. 여기서 '안전하다'는 의미는 해당 요청이 서버의 자원 상태를 변경하지 않는 것을 말한다. * HTTP/1.1 명세 문서를 참고하면, GET, HEAD, OPTIONS가 각각 안전한 메서드라고 나와 있다. GET 메서드 API를 '안전한 메서드'로 만드는 것도 매우 중요하다. 왜냐하면 GET 메서드는 특히 웹 브라우..

Web/Basic 2024.02.27

[Web] 웹 브라우저와 서버의 상호작용 방법

웹 브라우저가 서버와 상호작용하는 방법에는 크게 네 가지가 있다. 1. URL을 통한 접속 2. 태그를 사용하여 form 제출 3. XHR을 사용한 AJAX 요청 4. 웹 소켓을 통한 연결 URL을 통한 접속 - GET 사용자는 주로 웹 브라우저에서 직접 URL을 입력하여 웹 페이지를 방문하거나 태그가 걸려 있는 링크를 통해 접근한다. 예) 이 URL을 통한 접속에는 중요한 특징이 있는데, 바로 GET 메서드를 사용한다는 점이다. 웹에서 사용하는 프로토콜인 HTTP는 요청의 종류를 '메서드(Method)로 구분한다. URL을 통한 접속 요청의 경우 항상 그 메서드가 'GET'에 해당한다. 태그를 사용하여 form제출 이 방법은 웹사이트를 이용 시 로그인 창이나 게시글 작성 화면에서 보게 되는 입..

Web/Basic 2024.02.27

[Web] 블로킹(blocking)과 논블로킹(non-blocking) + 콜백(callback) 함수

2024.02.23 - [Web/Basic] - [Web] 동기방식과 비동기방식 [Web] 동기방식과 비동기방식 효율적인 데이터 처리와 통신은 웹 개발에서 매우 중요하다. 이번에는 웹 통신 방식에서 중요한 두 개념인 동기 방식과 비동기 방식의 차이를 설명하고, 웹 애플리케이션 개발에서 두 방식의 장 bio-logisch.tistory.com 앞서 다룬 동기/비동기 방식과 관련하여 꼭 알아둬야 하는 개념이 있는데, 바로 블로킹(Blocking)과 논블로킹(Non-blocking)이다. 동기와 비동기가 작업을 요청하는 쪽과 작업을 처리하는 쪽, 두 주체 간의 관계를 이야기하는 용어라면 블로킹과 논블로킹은 작업을 요청하는 쪽에서 통신 시 어떻게 동작하는지를 표현하는 용어라 할 수 있다. 동기 방식으로 통신할 ..

Web/Basic 2024.02.23

[Web] 동기 방식(Synchronous)과 비동기 방식 (Asynchronous)

효율적인 데이터 처리와 통신은 웹 개발에서 매우 중요하다. 이번에는 웹 통신 방식에서 중요한 두 개념인 동기 방식과 비동기 방식의 차이를 설명하고, 웹 애플리케이션 개발에서 두 방식의 장단점에 대해 다뤄보고자 한다. 동기방식 웹의 HTTP 프로토콜 통신방식 중에서 동기(Synchronous)방식이란 작업을 요청하는 쪽과 처리하는 쪽이 서로를 인식하고 상태를 동기화하는 것을 말한다. 클라이언트가 작업을 요청하면 작업을 처리하는 쪽인 서버에서 작업이 완료되어 응답할 때까지 클라이언트는 (다음 요청을 하지 않고) 먼저 보내둔 요청에 대한 응답을 기다린다. 클라이언트는 서버로부터 요청에 대한 응답을 받고 통신이 끊긴 이후 다시 새로운 요청을 하며 통신이 연결되는 흐름으로 작업이 진행된다. 예를 들어, 사용자가 ..

Web/Basic 2024.02.23

[Web] 웹 서버와 WAS : 아파치(Apache)와 톰캣(Tomcat)

HTTP는 클라이언트와 서버 간의 데이터 교환을 위한 프로토콜로, 웹 브라우저(클라이언트)와 웹 서버 간에 웹 페이지, 이미지, 동영상 등의 리소스를 주고받는다. HTTP 통신 과정 더보기 요청(Request): 클라이언트(웹 브라우저)가 서버에게 요청을 보낸다. 요청은 HTTP 메서드(GET, POST, PUT, DELETE 등)와 요청 URL(Uniform Resource Locator)을 포함한다. 예를 들어, 웹 브라우저에서 "http://www.example.com"을 입력하면 클라이언트는 서버에게 "GET / HTTP/1.1"과 같은 요청을 보낸다. 응답(Response): 서버는 클라이언트의 요청에 대한 응답을 생성한다. 응답은 HTTP 상태 코드(200 OK, 404 Not Found 등)..

Web/Basic 2024.01.30

[Web] 웹 개발의 시작 - client와 server의 개념

처음 웹 개발을 접하게 되면 가장 먼저 client와 server에 대해 배우게 될 것이다. 위 구성도는 웹 개발에 대한 큰 흐름을 아주아주 요약된 버전으로 보여준 것인데, 웹 개발을 어느 정도 공부하고 나니 이 흐름에 대해 계속해서 생각하는 것이 개발에 있어서 얼마나 중요한지 새삼 깨닫게 된다. 위 이미지를 토대로 웹 통신과정을 클라이언트와 서버 개념을 활용하여 설명해보면, client가 기본동작을 통해 요청(request)하면 server에서 이를 처리하고 데이터를 DataBase에 저장하고 ​client의 요청에 대해 응답(response)한다. 이때 client는 웹 브라우저를 사용한다. 정도로 설명해볼 수 있겠다. 여기서 데이터베이스(DataBase)는 데이터를 저장하고 관리하는 역할을 담당한다..

Web/Basic 2024.01.21