The rest extension should be included by default for Geoserver 2.4.x. I can confirm that is the case on my 2.4.1 installation.
You can check to see if it's installed by looking in Geoserver's WEB-INF/lib directory on the server. If you see a file similar to 'rest-2.4.0.jar,' then it is installed.
You can test to see if it's working by navigating to the same URL as the web interface, except replace 'web' with 'rest' (in a web browser).
For example http://hostname:8080/geoserver/rest/
.
Your POST body is wrong in the first case, when in doubt make a GET request of an existing object to see what the expected format is.
So for example http://localhost:8080/geoserver/rest/workspaces/nurc/coveragestores/worldImageSample/coverages/Img_Sample.xml
returns:
<coverage>
<name>Img_Sample</name>
<nativeName>Img_Sample</nativeName>
<namespace>
<name>nurc</name>
<atom:link xmlns:atom="http://www.w3.org/2005/Atom" rel="alternate" href="http://localhost:8080/geoserver/rest/namespaces/nurc.xml" type="application/xml"/>
</namespace>
<title>North America sample imagery</title>
<description>A very rough imagery of North America</description>
<keywords>
<string>WCS</string>
<string>worldImageSample</string>
<string>worldImageSample_Coverage</string>
</keywords>
<nativeCRS>GEOGCS["WGS 84",
DATUM["WGS_1984",
SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
UNIT["degree", 0.017453292519943295],
AXIS["Longitude", EAST],
AXIS["Latitude", NORTH],
AUTHORITY["EPSG","4326"]]</nativeCRS>
<srs>EPSG:4326</srs>
<nativeBoundingBox>
<minx>-130.85168</minx>
<maxx>-62.0054</maxx>
<miny>20.7052</miny>
<maxy>54.1141</maxy>
<crs>EPSG:4326</crs>
</nativeBoundingBox>
<latLonBoundingBox>
<minx>-130.85168</minx>
<maxx>-62.0054</maxx>
<miny>20.7052</miny>
<maxy>54.1141</maxy>
<crs>EPSG:4326</crs>
</latLonBoundingBox>
<enabled>true</enabled>
....
<requestSRS>
<string>EPSG:4326</string>
</requestSRS>
<responseSRS>
<string>EPSG:4326</string>
</responseSRS>
</coverage>
so your post body should be (at least):
<coverage>
<name>seonyudo</name>
</coverage>
and might need other values too, see the manual page for more details.
Best Answer
Have you tried any of the configuration examples in the docs (here)?
You can access layer information through e.g. http://localhost:8080/geoserver/rest/layers/giant_polygon.html
Publishing a shapefile works like this:
Consider a directory on the server /data/shapefiles/roads that contains the Shapefile roads.shp. The following adds a new datastore for the Shapefile:
Source: Geoserver REST Docs (Also describes how to add a PostGIS layer.)