whatisthis?

etc) HTTP - GET 방식 vs POST 방식 본문

WEB STUDY/ETC.

etc) HTTP - GET 방식 vs POST 방식

thisisyjin 2021. 10. 12. 18:50

GET / POST

HTTP 프로토콜을 이용해서 서버에 데이터(resource)를 전달할 때 사용하는 방식

 

html에서 form 요소의 경우 src와 함께 method 속성에 

GET 또는 POST 방식을 적어준다.

<form src=" " method="GET">
<form src=" " method="POST">

 

여기서, GET과 POST 는 무엇인지 알아보자.

 

 


 

GET 

정보 조회

서버에서 어떤 데이터를 가져와 조회하는 메서드.

Select.

 

URL의 끝에 ‘?’ 가 붙고, 요청정보가 (key=value) 형태의 쌍을 이루어 서버로 전송됨.

요청정보가 여러개일 경우 ‘&’ 로 구분.

 

 

예>

URL 끝에 key = value 형태로 붙음. / '&' 기호로 구분됨

- 이는 길이 제한이 있어서 대용량의 정보를 불러오기엔 한계가 있다.

(주소값+파라미터의 양은 255자로 제한됨.)

 

- 사용자가 값을 쉽게 볼 수 있으므로 보안에 취약함.

 

- 속도는 POST 방식보다 빠르다.

 

 


 

POST

서버의 값, 상태 변경

Insert, Update, Delete

 

- 대용량의 값을 전송하기에 적합하다. (그러나 용량 제한은 有)

 

- GET 방식보다 보안이 뛰어나다. 

 

- GET 방식보다 속도는 느림.

POST 방식

클라이언트측이 데이터를 인코딩(encoding)하여 서버로 보내고,

서버측에서는 데이터를 다시 디코딩(decoding)한다.

 

 

 

** 차이 **

 

POST 방식을 사용할 경우에 값(링크의 정보)이 body에 있기 때문에 

URL 만 전달할 수 없으므로 GET방식을 사용해야 한다. 

 

그러나 글을 저장하는 경우에는 URL을 제공할 필요가 없기 때문에 POST 방식을 사용한다. 

 

 

** url과 uri의 차이점

https://mywebproject.tistory.com/72

 

 

etc) URL(Uniform Resource Link) vs. URI(Uniform Resource Identifier)

https://www.charlezz.com/?p=44767 URI랑 URL 차이점이 뭔데? | 찰스의 안드로이드 URI 그리고 URL을 혼용해서 사용하는 경우가 있다. 대부분의 경우 문제가 없지만 정확하게 이 둘의 차이점이 존재한다. 그러

mywebproject.tistory.com

 


 

+) HTTP Packet 

 

HTTP 패킷 구조

HTTP 는 Hyper Text Transfer Protocol 의 줄임말로,

통신 규약을 나타내는 '프로토콜'이다.

각 프로토콜은 패킷 구조를 띄는데, 

위 사진은 HTTP 패킷의 구조를 나타낸다.

 

헤더 - 바디 - 트레일러로 구성되어있고,

우리가 위에서 배운 GET방식과 POST방식에 따라서 패킷 구조에 따라 정보구성이 달라진다.

 

GET 방식에서는 Body부분을 비워둔 상태로 전송하고,

POST 방식에서는 요청 정보를 Body부분에 숨겨서 전송한다.

 

 

 


 

 

++) SQL에서 Select 와 Insert, Update, Delete 

 

 

 

1. SELECT = 조회

SELECT * FROM [테이블명] 
WHERE 조건

 

=  [테이블명]의 (조건에 맞는) 필드, 모든 데이터를 조회

 

 

2.  Insert, Update, Delete

( 삽입 / 수정 / 삭제 )

 

NSERT INTO[테이블명] (필드명1, 필드명2, ... ) 
VALUES(필드값1, 필드값2, ... )

= [테이블명]에 필드값1을 필드명1에, 필드값2를 필드명2에 삽입

 

UPDATE [테이블명] SET [필드명1] = [수정할값]

= [테이블명]의 필드명1의 모든 필드를 [수정할값]으로 수정

DELETE FROM [테이블명]

= [테이블명]의 모든 데이터를 삭제

 

'WEB STUDY > ETC.' 카테고리의 다른 글

etc. 브라우저의 렌더링 과정  (0) 2021.10.17
etc) HTML vs XML  (0) 2021.10.12
etc) URL(Uniform Resource Link) vs. URI(Uniform Resource Identifier)  (0) 2021.10.12
[vs code] 사용법 + 단축키  (0) 2021.10.06
GitHub Markdown Tutorial  (0) 2021.09.24