当前位置:网站首页>Get post: do you really know the difference between requests??????

Get post: do you really know the difference between requests??????

2022-06-24 09:07:00 Secret Shura

The official said above Get post: Differences in requests :( After reading the red font )
GET It is harmless when the browser is backout , and POST The request will be submitted again .

GET Produced URL The address can be Bookmark, and POST Can not be .

GET The request will be initiated by the browser cache, and POST Can't , Unless manually set .

GET Request can only proceed url code , and POST Supports a variety of coding methods .

GET The request parameters are fully preserved in the browser history , and POST The parameters in are not retained .

GET Request in URL There is a length limit on the parameters passed in , and POST It has a .

The data type for the parameter ,GET We only accept ASCII character , and POST There is no limit to .

GET Than POST It's not safe , Because the parameters are directly exposed to URL On , So it can't be used to convey sensitive information .

GET Parameters through URL Pass on ,POST Put it in Request body in .

But what I said Get post It's true ?

GET and POST What is it? ?HTTP Two ways to send requests in the protocol .

HTTP What is it? ?HTTP Is based on TCP/IP Protocol for how data is communicated on the world wide web .

Key points )HTTP The bottom is TCP/IP. therefore GET and POST The bottom layer is also TCP/IP, in other words ,GET/POST All are TCP link .GET and POST You can do the same thing . Do you want to GET add request body, to POST close url Parameters , Technically, it's perfectly possible .

Request Body What is it? ?@Request Body The role of json Format data to java object .

TCP Like a cargo ship , We use it TCP To transmit data , It is very reliable , It never happens that fewer pieces are lost . But if all the rivers look the same cargo ships , The whole transportation system will be paralyzed because it is difficult to distinguish . To avoid that , Transportation rules HTTP The birth of .
Popular said :http It's just a rule
HTTP Divide the transportation into several categories , Yes GET, POST, PUT, DELETE wait ,HTTP Regulations , When executed GET On request , The cargo ship should be affixed with GET The label of ( Set up method by GET), And it requires that the transmitted data ** streaking ( Don't pretend )** Put it in the hull (url in ) To facilitate recording . If it is POST request , It's going to be pasted on the car POST The label of , And put the goods in the container . Of course , You can also be in GET When I was in the middle of the ship, I hid some containers to load the goods , But it was disgraceful ( It's a bit like smuggling ); It can also be in POST Also put some data on the container , It feels silly .HTTP It's just a code of conduct , and TCP It's just GET and POST How to achieve the basic .

however , We only see HTTP Yes GET and POST Parameter transmission channel (url still requrest body) Put forward a request .“ The standard answer ” Where does the parameter size limit come from ?

In the world wide web , There is another important role : Cargo terminal . Different browsers ( launch http request ) And the server ( Accept http request ) Just different shipping companies . Although theoretically , You can pile unlimited loads on the roof (url And an infinite number of arguments ). But transportation companies are not stupid , Loading and unloading are also very costly ,( Every big wharf is very smart ), They will limit the number of shipments to limit the risk , Too much data is a burden on both the browser and the server . The unwritten rule in the industry is ,( majority ) Browsers often restrict url The length is in 2K Bytes , and ( majority ) Maximum server processing 64K The size of url. More than , We will not deal with it . If you use GET service , stay request body Hiding the data , Different servers do different things , Some servers will unload for you , Read the data , Some servers just ignore it , therefore , although GET You can take request body, There is no guarantee that it will be received .

Okay , Now you know ,GET and POST It's essentially TCP link , There is no difference . But because of HTTP The rules and browsers / Server limitations , As a result, they show some differences in the application process .
Our big BOSS Still waiting to show up ...

the BOSS How mysterious ? When you try to find “GET and POST The difference between ” When , In the search results you'll see , Never mentioned him . What on earth is he ...

http It's just a rule GET and POST There is another important difference , To put it simply :

GET Produce a TCP Data packets ;POST Produce two TCP Data packets .

Long talk :

about GET Method request , The browser will http header and data Send along , Server response 200( Return the data );

And for POST, Browser sends first header, Server response 100 continue, The browser sends data, Server response 200 ok( Return the data ).

in other words ,GET It only takes a transport ship to deliver the goods , and POST Have to run two , The first trip , Airship Go and say hello to the server first “ hi , I have to deliver a shipment later , You open the door to meet me ”, Then go back and deliver the goods .

because POST Two steps are needed. , It takes a little more time , look GET Than POST More effective . therefore Yahoo The team has recommended GET Replace POST To optimize website performance . But this is a pit ! Jump in with caution . Why? ?

  1. GET And POST Each has its own semantics , You can't mix them .

  2. According to research , In a good network environment , The difference between the time to send a packet and the time to send two packets is negligible . And in the case of bad network environment , The two packages TCP On verifying packet integrity , It has great advantages .

  3. Not all browsers will be there POST Send two packets in ,Firefox Just send it once .

Now? , When the interviewer asks you “GET And POST The difference between ” When , Is that the way you are inside ?
For the original text, please refer to
https://www.cnblogs.com/logsharing/p/8448446.html

原网站

版权声明
本文为[Secret Shura]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/175/202206240625105377.html