whatisthis?
etc) HTTP - GET 방식 vs POST 방식 본문
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) 형태의 쌍을 이루어 서버로 전송됨.
요청정보가 여러개일 경우 ‘&’ 로 구분.
예>
- 이는 길이 제한이 있어서 대용량의 정보를 불러오기엔 한계가 있다.
(주소값+파라미터의 양은 255자로 제한됨.)
- 사용자가 값을 쉽게 볼 수 있으므로 보안에 취약함.
- 속도는 POST 방식보다 빠르다.
POST
서버의 값, 상태 변경
Insert, Update, Delete
- 대용량의 값을 전송하기에 적합하다. (그러나 용량 제한은 有)
- GET 방식보다 보안이 뛰어나다.
- GET 방식보다 속도는 느림.
클라이언트측이 데이터를 인코딩(encoding)하여 서버로 보내고,
서버측에서는 데이터를 다시 디코딩(decoding)한다.
** 차이 **
POST 방식을 사용할 경우에 값(링크의 정보)이 body에 있기 때문에
URL 만 전달할 수 없으므로 GET방식을 사용해야 한다.
그러나 글을 저장하는 경우에는 URL을 제공할 필요가 없기 때문에 POST 방식을 사용한다.
** url과 uri의 차이점
https://mywebproject.tistory.com/72
+) HTTP Packet
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 |