TIL Day 2

ExpoDaniel·2023년 2월 23일
0

TIL

목록 보기
2/2

기초적인 웹 만들기는 학교다닐 때 교양으로 들었어서 진도를 따라가는 데 별 어려움은 없었다. 다만 이 과정(국비지원)에만 의존하면 겉핥기식으로만 배울 것 같다. 따로 예복습은 해야할 것 같다.

설명이 부족하다 싶은 것들은 서칭을 통해 더 알아보곤 하는데 지금은 그 중 하나인 get과 post방식에 대해 적어보려 한다.

사용자가 URL을 브라우저 주소창에 입력을 하면 해당 웹페이지가 뜬다. 사용자가 보기엔 단순하지만 그 과정은 단순하지 않다. 클라이언트가 서버에게 웹 페이지를 보여달라고 요청을 하고 서버는 클라이언트 요청에 대한 답으로 HTML 문서를 전달하는데 이를 응답이라 한다.


HTTP 패킷

클라이언트가 서버로 요청을 했을때, 보내는 데이터를 HTTP 패킷이라 표현한다.
HTTP 프로토콜을 쓰므로, 앞에 HTTP가 붙고 인터넷을 통해 보내는 데이터를 패킷이라 표현하므로,
HTTP패킷 이라 부른다. HTTP패킷의 구조는 크게 헤더 와 바디로 나뉘어진다.
헤더에는 7가지 HTTP 메서드 방식중 무엇을 썻는지, 클라이언트의 정보, 브라우저 정보,
접속할 URL 등등 과 같은 클라이언트 정보를 담는다.
바디는 보통 비어있다. 하지만, 특정 데이터를 담아서 서버에게 요청을 보낼 수 있다.
이러한 웹 개념아래, 우리는 GET메서드와 POST메서드를 통해서 요청을 할 수 있다.

GET 방식 &POST 방식

두 방식 모두 서버에 요청하는 메소드다.

GET방식으로 데이터를 보내기

클라이언트의 데이터를 URL뒤에 붙여서 보낸다. 아이디 패스워드를 보낸다고 하면,
www.example.com?id=mommoo&pass=1234
이런식으로 보낸다.
URL 뒤에 "?" 마크를 통해 URL의 끝을 알리면서, 데이터 표현의 시작점을 알린다.
데이터는 key 와 value 쌍으로 넣어야 한다.
중간에 &마크는 구분자 이다. 2개이상의 key - value 쌍 데이터를 보낼때는 &마크로 구분해준다.
GET 방식에서 BODY에 특별한 내용을 넣을 것이 없으므로 BODY가 빈상태로 보내진다.
그러므로, 헤더의 내용중 BODY 데이터를 설명하는 Content-Type이라는 헤더필드는 들어가지 않는다.
URL형태로 표현되므로, 특정 페이지를 다른사람 에게 접속하게 할 수 있다.
또한 간단한 데이터를 넣도록 설계되어, 데이터를 보내는 양의 한계가 있다.

POST방식으로 데이터를 보내기

데이터 전송을 기반으로 한 요청 메서드이다.
GET 방식은 url에 데이터를 붙여서 보내는 반면, post방식은 url에 붙여서 보내지 않고
body에 데이터를 넣어서 보낸다
따라서 BODY의 데이터를 설명하는 Content-Type이라는 헤더 필드가 들어가고 어떤 데이터 타입인지 명시해줘야 한다.


### GET방식으로 데이터를 보내기 #### post 방식이 get 방식보다 보안측면에서 좋다? >post든 get이든 보내는 데이터는 전부 클라이언트측에서 볼 수 있다. 단지 get방식은 url에 데이터가 표시되어 별다른 노력없이 볼 수 있을 뿐, 두 방식 모두 암호화 해야한다. #### GET 방식이 POST방식보다 속도가 빠르다? >빠른다. 왜냐하면 GET방식의 요청은 캐싱을 하기 때문이다. 캐싱 - 한번 접근 후, 또 요청할 시, 빠르게 접근하기 위해 데이터를 저장



출처: https://mommoo.tistory.com/60
profile
로그함수 성장을 그리고 싶은 개발자 지망생

0개의 댓글